bm_set_hidden_p db owner_idWhat it does:
This procedure insures that the 'hidden_p' column in the 'bm_list' table is consistant with the privacy of the folder structure (ie a bookmark inside a private folder or in a folder in a private folder etc is considered to be hidden_p=t)Defined in: /web/philip/tcl/bookmarks-defs.tcl
Source code:
# get the bad parents set sql_get_bad " select bookmark_id from bm_list where owner_id = $owner_id and private_p = 't'" set bad_parents [database_to_tcl_list $db $sql_get_bad] set bad_parents [join $bad_parents ","] # this could be trouble if the bad_parents list is too long if { ![empty_string_p $bad_parents] } { # get all the 'bookmark_id's which should be public set sql_get_new_public " select bookmark_id from bm_list where owner_id = $owner_id and private_p <> 't' connect by prior bookmark_id = parent_id and parent_id not in ($bad_parents) start with parent_id is NULL" set not_hidden_list [database_to_tcl_list $db $sql_get_new_public] # set _all_ 'bookmark_id's hidden_p='t' then set the 'bookmarks_id's in not_hidden_list to hidden_p='f' ns_db dml $db " update bm_list set hidden_p = 't' where owner_id = $owner_id " foreach bookmark_id $not_hidden_list { ns_db dml $db " update bm_list set hidden_p = 'f' where bookmark_id = $bookmark_id and owner_id = $owner_id" } } else { ns_db dml $db " update bm_list set hidden_p = 'f' where owner_id = $owner_id" }