comparison src/settings.sml @ 2226:e10881cd92da

Merge.
author Ziv Scully <ziv@mit.edu>
date Fri, 27 Mar 2015 11:26:06 -0400
parents 365727ff68f4 8beeb4f761b5
children 25c94de06e3c
comparison
equal deleted inserted replaced
2225:6262dabc08d6 2226:e10881cd92da
295 ("strcspn", "sspn"), 295 ("strcspn", "sspn"),
296 ("strlenGe", "strlenGe"), 296 ("strlenGe", "strlenGe"),
297 ("mouseEvent", "uw_mouseEvent"), 297 ("mouseEvent", "uw_mouseEvent"),
298 ("keyEvent", "uw_keyEvent"), 298 ("keyEvent", "uw_keyEvent"),
299 ("minTime", "0"), 299 ("minTime", "0"),
300 ("stringToBool_error", "s2be"),
301 ("stringToBool", "s2b"),
300 302
301 ("islower", "isLower"), 303 ("islower", "isLower"),
302 ("isupper", "isUpper"), 304 ("isupper", "isUpper"),
303 ("isalpha", "isAlpha"), 305 ("isalpha", "isAlpha"),
304 ("isdigit", "isDigit"), 306 ("isdigit", "isDigit"),
375 datatype action = Allow | Deny 377 datatype action = Allow | Deny
376 type rule = { action : action, kind : pattern_kind, pattern : string } 378 type rule = { action : action, kind : pattern_kind, pattern : string }
377 379
378 datatype path_kind = Any | Url | Table | Sequence | View | Relation | Cookie | Style 380 datatype path_kind = Any | Url | Table | Sequence | View | Relation | Cookie | Style
379 type rewrite = { pkind : path_kind, kind : pattern_kind, from : string, to : string, hyphenate : bool } 381 type rewrite = { pkind : path_kind, kind : pattern_kind, from : string, to : string, hyphenate : bool }
382
383 fun pak2s pak =
384 case pak of
385 Exact => "Exact"
386 | Prefix => "Prefix"
387 fun pk2s pk =
388 case pk of
389 Any => "Any"
390 | Url => "Url"
391 | Table => "Table"
392 | Sequence => "Sequence"
393 | View => "View"
394 | Relation => "Relation"
395 | Cookie => "Cookie"
396 | Style => "Style"
397 fun r2s (r : rewrite) = pak2s (#kind r) ^ " " ^ pk2s (#pkind r) ^ ", from<" ^ #from r ^ ">, to<" ^ #to r ^ ">"
380 398
381 val rewrites = ref ([] : rewrite list) 399 val rewrites = ref ([] : rewrite list)
382 400
383 fun subsume (pk1, pk2) = 401 fun subsume (pk1, pk2) =
384 pk1 = pk2 402 pk1 = pk2
724 fun capitalize s = 742 fun capitalize s =
725 case s of 743 case s of
726 "" => "" 744 "" => ""
727 | _ => str (Char.toUpper (String.sub (s, 0))) ^ String.extract (s, 1, NONE) 745 | _ => str (Char.toUpper (String.sub (s, 0))) ^ String.extract (s, 1, NONE)
728 746
747 val allLower = CharVector.map Char.toLower
748
729 val mangle = ref true 749 val mangle = ref true
730 fun setMangleSql x = mangle := x 750 fun setMangleSql x = mangle := x
731 fun mangleSqlTable s = if !mangle then "uw_" ^ capitalize s 751
732 else if #name (currentDbms ()) = "mysql" then capitalize s 752 fun mangleSqlTable s =
733 else lowercase s 753 if #name (currentDbms ()) = "mysql" then
734 fun mangleSql s = if !mangle then "uw_" ^ s 754 if !mangle then
735 else if #name (currentDbms ()) = "mysql" then lowercase s 755 "uw_" ^ allLower s
736 else lowercase s 756 else
737 fun mangleSqlCatalog s = if !mangle then "uw_" ^ s else lowercase s 757 allLower s
758 else
759 if !mangle then
760 "uw_" ^ capitalize s
761 else
762 lowercase s
763
764 fun mangleSql s =
765 if #name (currentDbms ()) = "mysql" then
766 if !mangle then
767 "uw_" ^ allLower s
768 else
769 allLower s
770 else
771 if !mangle then
772 "uw_" ^ s
773 else
774 lowercase s
775
776 fun mangleSqlCatalog s =
777 if #name (currentDbms ()) = "mysql" then
778 if !mangle then
779 "uw_" ^ allLower s
780 else
781 allLower s
782 else
783 if !mangle then
784 "uw_" ^ s
785 else
786 lowercase s
738 787
739 val html5 = ref false 788 val html5 = ref false
740 fun setIsHtml5 b = html5 := b 789 fun setIsHtml5 b = html5 := b
741 fun getIsHtml5 () = !html5 790 fun getIsHtml5 () = !html5
742 791
820 869
821 fun setFilePath path = filePath := path 870 fun setFilePath path = filePath := path
822 871
823 fun addFile {Uri, LoadFromFilename} = 872 fun addFile {Uri, LoadFromFilename} =
824 let 873 let
825 val path = OS.Path.joinDirFile {dir = !filePath, file = LoadFromFilename} 874 val path = OS.Path.mkAbsolute {relativeTo = !filePath, path = LoadFromFilename}
826 in 875 in
827 case SM.find (!files, Uri) of 876 case SM.find (!files, Uri) of
828 SOME (path', _) => 877 SOME (path', _) =>
829 if path' = path then 878 if path' = path then
830 () 879 ()