• Publicity: Public Only All

oacs-dav-procs.tcl

Support for tDAV Tcl webDAV implementation

Location:
packages/oacs-dav/tcl/oacs-dav-procs.tcl
Created:
2003-09-11
Author:
Dave Bauer <dave@thedesignexperience.org>
CVS Identification:
$Id: oacs-dav-procs.tcl,v 1.24.2.10 2023/07/10 09:41:44 gustafn Exp $

Procedures in this file

Detailed information

oacs_dav::authorize (public)

 oacs_dav::authorize [ args... ]

check is user_id has permission to perform the WebDAV method on the URI

Partial Call Graph (max 5 caller/called nodes):
%3 oacs_dav::conn oacs_dav::conn (public) oacs_dav::conn_setup oacs_dav::conn_setup (public) permission::permission_p permission::permission_p (public) security::RestrictLoginToSSLP security::RestrictLoginToSSLP (public) security::secure_conn_p security::secure_conn_p (public) oacs_dav::authorize oacs_dav::authorize oacs_dav::authorize->oacs_dav::conn oacs_dav::authorize->oacs_dav::conn_setup oacs_dav::authorize->permission::permission_p oacs_dav::authorize->security::RestrictLoginToSSLP oacs_dav::authorize->security::secure_conn_p

Testcases:
No testcase defined.

oacs_dav::children_have_permission_p (public)

 oacs_dav::children_have_permission_p [ -user_id user_id ] \
    [ -item_id item_id ] [ -privilege privilege ]

Check permission on child items of item_id for user_id with privilege

Switches:
-user_id
(optional)
-item_id
(optional)
-privilege
(optional)
Returns:
returns 0 if user does not have privilege over all children otherwise return 1

Partial Call Graph (max 5 caller/called nodes):
%3 test_oacs_dav_children_have_permission_p oacs_dav_children_have_permission_p (test oacs-dav) oacs_dav::children_have_permission_p oacs_dav::children_have_permission_p test_oacs_dav_children_have_permission_p->oacs_dav::children_have_permission_p db_string db_string (public) oacs_dav::children_have_permission_p->db_string oacs_dav::impl::content_folder::copy oacs_dav::impl::content_folder::copy (private) oacs_dav::impl::content_folder::copy->oacs_dav::children_have_permission_p oacs_dav::impl::content_folder::delete oacs_dav::impl::content_folder::delete (private) oacs_dav::impl::content_folder::delete->oacs_dav::children_have_permission_p oacs_dav::impl::content_folder::move oacs_dav::impl::content_folder::move (private) oacs_dav::impl::content_folder::move->oacs_dav::children_have_permission_p

Testcases:
oacs_dav_children_have_permission_p

oacs_dav::conn (public)

 oacs_dav::conn [ args... ]

shared data for WebDAV requests

Partial Call Graph (max 5 caller/called nodes):
%3 test_oacs_dav_mkcol oacs_dav_mkcol (test oacs-dav) oacs_dav::conn oacs_dav::conn test_oacs_dav_mkcol->oacs_dav::conn test_oacs_dav_put oacs_dav_put (test oacs-dav) test_oacs_dav_put->oacs_dav::conn ad_conn ad_conn (public) oacs_dav::conn->ad_conn fs::impl::fs_object::mkcol fs::impl::fs_object::mkcol (private) fs::impl::fs_object::mkcol->oacs_dav::conn fs::impl::fs_object::put fs::impl::fs_object::put (private) fs::impl::fs_object::put->oacs_dav::conn oacs_dav::authorize oacs_dav::authorize (public) oacs_dav::authorize->oacs_dav::conn oacs_dav::conn_setup oacs_dav::conn_setup (public) oacs_dav::conn_setup->oacs_dav::conn oacs_dav::handle_request oacs_dav::handle_request (public) oacs_dav::handle_request->oacs_dav::conn

Testcases:
oacs_dav_put, oacs_dav_mkcol

oacs_dav::conn_setup (public)

 oacs_dav::conn_setup

Setup oacs_dav::conn, authenticate user

Partial Call Graph (max 5 caller/called nodes):
%3 oacs_dav::authorize oacs_dav::authorize (public) oacs_dav::conn_setup oacs_dav::conn_setup oacs_dav::authorize->oacs_dav::conn_setup ad_conn ad_conn (public) oacs_dav::conn_setup->ad_conn db_exec_plsql db_exec_plsql (public) oacs_dav::conn_setup->db_exec_plsql oacs_dav::conn oacs_dav::conn (public) oacs_dav::conn_setup->oacs_dav::conn oacs_dav::item_parent_folder_id oacs_dav::item_parent_folder_id (public) oacs_dav::conn_setup->oacs_dav::item_parent_folder_id oacs_dav::request_folder_id oacs_dav::request_folder_id (public) oacs_dav::conn_setup->oacs_dav::request_folder_id

Testcases:
No testcase defined.

oacs_dav::folder_enabled (public)

 oacs_dav::folder_enabled [ -folder_id folder_id ]
Switches:
-folder_id
(optional)
Returns:
t if folder is webdav enabled, f if not

Partial Call Graph (max 5 caller/called nodes):
%3 fs::webdav_url fs::webdav_url (public) oacs_dav::folder_enabled oacs_dav::folder_enabled fs::webdav_url->oacs_dav::folder_enabled db_string db_string (public) oacs_dav::folder_enabled->db_string

Testcases:
No testcase defined.

oacs_dav::handle_request (public)

 oacs_dav::handle_request [ args... ]

dispatch request to the proper service contract implementation

Partial Call Graph (max 5 caller/called nodes):
%3 acs_sc::invoke acs_sc::invoke (public) acs_sc_binding_exists_p acs_sc_binding_exists_p (public) apm_package_key_from_id apm_package_key_from_id (public) content::item::get_content_type content::item::get_content_type (public) db_string db_string (public) oacs_dav::handle_request oacs_dav::handle_request oacs_dav::handle_request->acs_sc::invoke oacs_dav::handle_request->acs_sc_binding_exists_p oacs_dav::handle_request->apm_package_key_from_id oacs_dav::handle_request->content::item::get_content_type oacs_dav::handle_request->db_string

Testcases:
No testcase defined.

oacs_dav::impl::content_folder::head (public)

 oacs_dav::impl::content_folder::head

HEAD DAV method for content folders can't get a folder

Partial Call Graph (max 5 caller/called nodes):
%3

Testcases:
No testcase defined.

oacs_dav::item_parent_folder_id (public)

 oacs_dav::item_parent_folder_id uri

get the folder_id of the parent of an item from the uri

Parameters:
uri
Returns:
parent_folder_id or empty string if folder does not exist

Partial Call Graph (max 5 caller/called nodes):
%3 fs::impl::fs_object::mkcol fs::impl::fs_object::mkcol (private) oacs_dav::item_parent_folder_id oacs_dav::item_parent_folder_id fs::impl::fs_object::mkcol->oacs_dav::item_parent_folder_id fs::impl::fs_object::put fs::impl::fs_object::put (private) fs::impl::fs_object::put->oacs_dav::item_parent_folder_id oacs_dav::conn_setup oacs_dav::conn_setup (public) oacs_dav::conn_setup->oacs_dav::item_parent_folder_id oacs_dav::impl::content_folder::mkcol oacs_dav::impl::content_folder::mkcol (private) oacs_dav::impl::content_folder::mkcol->oacs_dav::item_parent_folder_id oacs_dav::impl::content_folder::move oacs_dav::impl::content_folder::move (private) oacs_dav::impl::content_folder::move->oacs_dav::item_parent_folder_id db_exec_plsql db_exec_plsql (public) oacs_dav::item_parent_folder_id->db_exec_plsql oacs_dav::request_folder_id oacs_dav::request_folder_id (public) oacs_dav::item_parent_folder_id->oacs_dav::request_folder_id oacs_dav::request_site_node oacs_dav::request_site_node (public) oacs_dav::item_parent_folder_id->oacs_dav::request_site_node

Testcases:
No testcase defined.

oacs_dav::register_folder (public)

 oacs_dav::register_folder [ -enabled_p enabled_p ] folder_id node_id

add a uri to dav support

Switches:
-enabled_p
(defaults to "t") (optional)
Parameters:
folder_id
node_id - Register a root WebDAV enabled folder for a site node_id All requests that resolve to this site node id will be checked for WebDAV content using this folder as the root. Only one folder per node_id can be registered.

Partial Call Graph (max 5 caller/called nodes):
%3 test_oacs_dav_mkcol oacs_dav_mkcol (test oacs-dav) oacs_dav::register_folder oacs_dav::register_folder test_oacs_dav_mkcol->oacs_dav::register_folder test_oacs_dav_put oacs_dav_put (test oacs-dav) test_oacs_dav_put->oacs_dav::register_folder db_dml db_dml (public) oacs_dav::register_folder->db_dml db_transaction db_transaction (public) oacs_dav::register_folder->db_transaction fs::after_mount fs::after_mount (private) fs::after_mount->oacs_dav::register_folder

Testcases:
oacs_dav_put, oacs_dav_mkcol

oacs_dav::request_folder_id (public)

 oacs_dav::request_folder_id node_id

resolves a node_id to a DAV enabled folder_id

Parameters:
node_id - site node_id of request
Returns:
folder_id, or empty string if no folder exists in dav_package_folder_map for this node_id

Partial Call Graph (max 5 caller/called nodes):
%3 oacs_dav::conn_setup oacs_dav::conn_setup (public) oacs_dav::request_folder_id oacs_dav::request_folder_id oacs_dav::conn_setup->oacs_dav::request_folder_id oacs_dav::item_parent_folder_id oacs_dav::item_parent_folder_id (public) oacs_dav::item_parent_folder_id->oacs_dav::request_folder_id db_string db_string (public) oacs_dav::request_folder_id->db_string

Testcases:
No testcase defined.

oacs_dav::request_site_node (public)

 oacs_dav::request_site_node uri

resolves uri to a site node_id

Parameters:
uri

Partial Call Graph (max 5 caller/called nodes):
%3 oacs_dav::conn_setup oacs_dav::conn_setup (public) oacs_dav::request_site_node oacs_dav::request_site_node oacs_dav::conn_setup->oacs_dav::request_site_node oacs_dav::item_parent_folder_id oacs_dav::item_parent_folder_id (public) oacs_dav::item_parent_folder_id->oacs_dav::request_site_node site_node::get site_node::get (public) oacs_dav::request_site_node->site_node::get

Testcases:
No testcase defined.

oacs_dav::set_user_id (public)

 oacs_dav::set_user_id

set user_id based on authentication header

Partial Call Graph (max 5 caller/called nodes):
%3 oacs_dav::conn_setup oacs_dav::conn_setup (public) oacs_dav::set_user_id oacs_dav::set_user_id oacs_dav::conn_setup->oacs_dav::set_user_id ad_conn ad_conn (public) oacs_dav::set_user_id->ad_conn auth::authenticate auth::authenticate (public) oacs_dav::set_user_id->auth::authenticate auth::authority::get_authority_options auth::authority::get_authority_options (public) oacs_dav::set_user_id->auth::authority::get_authority_options http_auth::basic_authentication_decode http_auth::basic_authentication_decode (public) oacs_dav::set_user_id->http_auth::basic_authentication_decode

Testcases:
No testcase defined.

oacs_dav::unregister_folder (public)

 oacs_dav::unregister_folder folder_id node_id

remove a uri from dav support

Parameters:
folder_id
node_id

Partial Call Graph (max 5 caller/called nodes):
%3 fs::before_unmount fs::before_unmount (private) oacs_dav::unregister_folder oacs_dav::unregister_folder fs::before_unmount->oacs_dav::unregister_folder db_dml db_dml (public) oacs_dav::unregister_folder->db_dml

Testcases:
No testcase defined.

oacs_dav::uri_prefix (public)

 oacs_dav::uri_prefix
Returns:
URI prefix to use for WebDAV requests

Partial Call Graph (max 5 caller/called nodes):
%3 fs::webdav_url fs::webdav_url (public) oacs_dav::uri_prefix oacs_dav::uri_prefix fs::webdav_url->oacs_dav::uri_prefix oacs_dav::conn_setup oacs_dav::conn_setup (public) oacs_dav::conn_setup->oacs_dav::uri_prefix apm_package_id_from_key apm_package_id_from_key (public) oacs_dav::uri_prefix->apm_package_id_from_key parameter::get parameter::get (public) oacs_dav::uri_prefix->parameter::get

Testcases:
No testcase defined.
[ show source ]