ad_urlencode_url (public)

 ad_urlencode_url url

Defined in packages/acs-tcl/tcl/utilities-procs.tcl

Perform an urlencode operation on a potentially full url (containing a location, but without query part).

Parameters:
url
See Also:

Partial Call Graph (max 5 caller/called nodes):
%3 test_export_vars export_vars (test acs-tcl) ad_urlencode_url ad_urlencode_url test_export_vars->ad_urlencode_url ad_try ad_try (public) ad_urlencode_url->ad_try ad_urlencode_folder_path ad_urlencode_folder_path (public) ad_urlencode_url->ad_urlencode_folder_path util::join_location util::join_location (public) ad_urlencode_url->util::join_location export_vars export_vars (public) export_vars->ad_urlencode_url xowiki::FormPage instproc www-edit xowiki::FormPage instproc www-edit (public) xowiki::FormPage instproc www-edit->ad_urlencode_url

Testcases:
export_vars
Source code:
    ad_try {
        #
        # Assign the components, and check if the URL is valid
        #
        set components [ns_parseurl $url]
    } on ok {r} {
        #
        # Assume the possibility that older ns_parseurl versions accepted a URL
        # without a scheme.
        #
        if {[dict exists $components proto]} {
            set result [util::join_location  -proto [dict get $components proto]  -hostname [dict get $components host]  -port [expr {[dict exists $components port] ? [dict get $components port] : ""}]  ]
            set path [dict get $components path]
            if {$path ne ""} {
                set path /$path
            }
            set tail [dict get $components tail]
            append result [ad_urlencode_folder_path $path/$tail]
        } else {
            #
            # No protocol, we encode it as a path
            #
            set result [ad_urlencode_folder_path $url]
        }
    } on error {errorMsg} {
        #
        # If the URL is not strictly valid, at least we try to encode it as a
        # path.
        #
        set result [ad_urlencode_folder_path $url]
    }
    return $result
XQL Not present:
PostgreSQL, Oracle
Generic XQL file:
packages/acs-tcl/tcl/utilities-procs.xql

[ hide source ] | [ make this the default ]
Show another procedure: