Index: openacs-4/packages/cms/www/modules/sitemap/ancestors.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/ancestors.adp,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/cms/www/modules/sitemap/ancestors.adp 16 Nov 2004 22:32:50 -0000 1.4 +++ openacs-4/packages/cms/www/modules/sitemap/ancestors.adp 6 Apr 2005 00:20:59 -0000 1.5 @@ -4,7 +4,7 @@ - + @context.title@ Index: openacs-4/packages/cms/www/modules/sitemap/attributes.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/attributes.adp,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/cms/www/modules/sitemap/attributes.adp 16 Nov 2004 22:32:50 -0000 1.4 +++ openacs-4/packages/cms/www/modules/sitemap/attributes.adp 6 Apr 2005 00:20:59 -0000 1.5 @@ -8,13 +8,7 @@

- - - : @folder_name@ - - - Path:  @folder_name@ - +Back to @folder_name@ contents

Index: openacs-4/packages/cms/www/modules/sitemap/attributes.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/attributes.tcl,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/cms/www/modules/sitemap/attributes.tcl 16 Nov 2004 22:32:50 -0000 1.7 +++ openacs-4/packages/cms/www/modules/sitemap/attributes.tcl 6 Apr 2005 00:20:59 -0000 1.8 @@ -19,11 +19,8 @@ } # permissions check - user must have cm_examine on this folder -content::check_access $folder_id cm_examine -user_id [User::getID] +#content::check_access $folder_id cm_examine -user_id [User::getID] -# hack - breadcrumbs for path (need to think about this) -set call_ancestors_p [expr ![expr $folder_id == [cm::modules::${mount_point}::getRootFolderID]]] - # Get the registered types for the folder # (besides symlinks/templates/subfolders) cms_folder::get_registered_types $folder_id multirow content_types Index: openacs-4/packages/cms/www/modules/sitemap/create-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/Attic/create-oracle.xql,v diff -u -N --- openacs-4/packages/cms/www/modules/sitemap/create-oracle.xql 25 May 2001 23:49:05 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,45 +0,0 @@ - - - - oracle8.1.6 - - - - - begin - :1 := content_folder.new( - name => :name, - label => :label, - description => :description, - parent_id => :create_parent_id, - creation_user => :user_id, - creation_ip => :ip ); - end; - - - - - - - - begin - content_folder.register_content_type( - folder_id => :folder_id, - content_type => 'content_template', - include_subtypes => 'f' - ); - end; - - - - - - - - select content_item.get_path(:create_parent_id) from dual - - - - - - Index: openacs-4/packages/cms/www/modules/sitemap/create-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/Attic/create-postgresql.xql,v diff -u -N --- openacs-4/packages/cms/www/modules/sitemap/create-postgresql.xql 30 May 2001 22:56:27 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,47 +0,0 @@ - - - - postgresql7.1 - - - - - select content_folder__new ( - :name, - :label, - :description, - :create_parent_id, - null, - null, - now(), - :user_id, - :ip ); - - - - - - - - - select content_folder__register_content_type( - :folder_id, - 'content_template', - 'f' - ); - - - - - - - - - - select content_item__get_path(:create_parent_id, null) - - - - - - Index: openacs-4/packages/cms/www/modules/sitemap/create.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/create.tcl,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/cms/www/modules/sitemap/create.tcl 16 Nov 2004 22:32:50 -0000 1.5 +++ openacs-4/packages/cms/www/modules/sitemap/create.tcl 6 Apr 2005 00:20:59 -0000 1.6 @@ -1,97 +1,75 @@ -# Create a new folder under the current folder +ad_page_contract { -request create -params { - parent_id -datatype integer -optional - mount_point -datatype keyword + Create a new folder under the current folder + +} { + {folder_id:optional,integer } + {mount_point "sitemap"} } -if { [util::is_nil parent_id] } { - set create_parent_id [cm::modules::${mount_point}::getRootFolderID] -} else { - set create_parent_id $parent_id -} - - # permissions check - user must have cm_new on parent -content::check_access $create_parent_id cm_new -user_id [auth::require_login] +#content::check_access $create_parent_id cm_new -user_id [auth::require_login] -# Get the path -set path [db_string get_path ""] - -# Create the form - -form create add_folder - -element create add_folder parent_id \ - -label "Parent ID" -integer keyword -widget hidden -param -optional - -element create add_folder mount_point \ - -label "Mount Point" -datatype keyword -widget hidden -param -optional - -if { [string equal $path ""] } { +set path [content::item::get_path -item_id $folder_id] +if {[template::util::is_nil path]} { set path "/" } -element create add_folder path \ - -label "In" -datatype text -widget inform -value "$path" +ad_form -name add_folder -form { -element create add_folder name \ - -label "Name" -datatype keyword -widget text -html { size 20 } \ - -validate { { expr ![string match $value "/"] } - { Folder name cannot contain slashes }} + {new_folder_id:key} -element create add_folder label \ - -label "Label" -widget text -datatype text \ - -html { size 30 } -optional + {parent_id:integer(hidden) + {value $folder_id} + } -element create add_folder description \ - -label "Description" -widget textarea -datatype text \ - -html { rows 5 cols 40 wrap physical } -optional + {folder_id:integer(hidden) + {value $folder_id} + } -#set parent_id [element get_value add_folder parent_id] -#set mount_point [element get_value add_folder mount_point] + {mount_point:text(hidden) + {value $mount_point} + } + {path:text(inform) + {label "Create in"} + {value $path} + } -# Insert the folder -if { [form is_valid add_folder] } { - form get_values add_folder \ - name label description parent_id mount_point + {name:text(text) + {label "Name"} + {help_text "Short name containing no special characters"} + } - set user_id [User::getID] - set ip [ns_conn peeraddr] - - db_transaction { + {label:text(text),optional + {label "Label"} + {html {size 30}} + {help_text "More descriptive label"} + } - set folder_id [db_exec_plsql new_folder " - begin - :1 := content_folder.new( - name => :name, - label => :label, - description => :description, - parent_id => :create_parent_id, - creation_user => :user_id, - creation_ip => :ip ); - end;"] + {description:text(textarea),optional + {label "Description"} + {html {rows 5 cols 40 wrap physical}} + } - if { [string equal $mount_point "templates"] } { +} -validate { - db_exec_plsql register_content_type " - begin - content_folder.register_content_type( - folder_id => :folder_id, - content_type => 'content_template', - include_subtypes => 'f' - ); - end;" - } + {name + { ![ string match "*/*" $name ] } + { Folder name cannot contain slashes } + } +} -on_submit { + + set folder_id [content::folder::new -folder_id $new_folder_id -name $name -label $label \ + -description $description -parent_id $parent_id] + if { [string equal $mount_point "templates"] } { + content::folder::register_content_type -folder_id $folder_id \ + -content_type content_template } - # Flush the paginator cache - cms_folder::flush $mount_point $parent_id +} -after_submit { - # Update the folder and refresh the tree - refreshCachedFolder $user_id sitemap $parent_id + ad_returnredirect [export_vars -base index {folder_id mount_point parent_id}] - forward "refresh-tree?id=$parent_id&goto_id=$parent_id&mount_point=$mount_point" } Index: openacs-4/packages/cms/www/modules/sitemap/delete-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/Attic/delete-oracle.xql,v diff -u -N --- openacs-4/packages/cms/www/modules/sitemap/delete-oracle.xql 16 Nov 2004 22:32:50 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,22 +0,0 @@ - - - - oracle8.1.6 - - - - begin content_folder.del(:item_id); end; - - - - - - - - select content_folder.is_empty(:item_id) from dual - - - - - - Index: openacs-4/packages/cms/www/modules/sitemap/delete-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/Attic/delete-postgresql.xql,v diff -u -N --- openacs-4/packages/cms/www/modules/sitemap/delete-postgresql.xql 16 Nov 2004 22:32:50 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,24 +0,0 @@ - - - - postgresql7.1 - - - - - select content_folder__delete(:item_id) - - - - - - - - - select content_folder__is_empty(:item_id) - - - - - - Index: openacs-4/packages/cms/www/modules/sitemap/delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/delete.tcl,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/cms/www/modules/sitemap/delete.tcl 16 Nov 2004 22:32:50 -0000 1.5 +++ openacs-4/packages/cms/www/modules/sitemap/delete.tcl 6 Apr 2005 00:20:59 -0000 1.6 @@ -1,42 +1,34 @@ -# Delete a folder (only if does not contain any items). -# Delete any symlinks pointing to this folder (possibly give a warning). +ad_page_contract { -template::request create -template::request set_param item_id -datatype keyword -template::request set_param parent_id -datatype keyword -optional -request set_param mount_point -datatype keyword -optional -value sitemap + Delete a folder (only if does not contain any items). +} { + {folder_id:integer} + {parent_id:integer} + {mount_point "sitemap"} +} - # permission check - user must have cm_write on this folder to delete it -content::check_access $item_id cm_write -user_id [auth::require_login] +#content::check_access $item_id cm_write -user_id [auth::require_login] # Determine if the folder is empty -set is_empty [db_string check_empty ""] +if { [string match [content::folder::is_empty -folder_id $folder_id] "f" ] } { -# If nonempty, show error -if { [string equal $is_empty "f"] } { + util_user_message -message "Folder is not empty. Please delete folder contents and try again." + ad_returnredirect [export_vars -base index {folder_id}] - set message "This folder is not empty." - set return_url "modules/sitemap/index" - set passthrough [list [list item_id $item_id] [list parent_id $parent_id]] - template::forward "../../error?message=$message&return_url=$return_url&passthrough=$passthrough" - } else { - # Otherwise, delete the folder - db_transaction { - db_exec_plsql delete_folder "" - } + content::folder::delete -folder_id $folder_id + + # Remove it from the clipboard, if it exists + set clip [clipboard::parse_cookie] + clipboard::remove_item $clip $mount_point $folder_id + clipboard::set_cookie $clip + clipboard::free $clip - # Remove it from the clipboard, if it exists - set clip [clipboard::parse_cookie] - clipboard::remove_item $clip $mount_point $item_id - clipboard::set_cookie $clip - clipboard::free $clip + # Redirect to parent folder + set folder_id $parent_id + ad_returnredirect [export_vars -base index {folder_id}] - # Flush paginator cache - #cms_folder::flush $mount_point $parent_id - - template::forward "refresh-tree?id=$parent_id&goto_id=$parent_id&mount_point=$mount_point" } Index: openacs-4/packages/cms/www/modules/sitemap/index-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/index-oracle.xql,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/cms/www/modules/sitemap/index-oracle.xql 16 Nov 2004 22:32:50 -0000 1.6 +++ openacs-4/packages/cms/www/modules/sitemap/index-oracle.xql 6 Apr 2005 00:20:59 -0000 1.7 @@ -3,11 +3,11 @@ oracle8.1.6 - + select - r.item_id, '' as context, + r.item_id, decode(o.object_type, 'content_symlink', r.label, 'content_folder', f.label, nvl(v.title, i.name)) title, @@ -30,30 +30,24 @@ i.live_revision = u.revision_id (+) and i.item_id = f.folder_id (+) - order by - is_index_page desc $orderby_clause - + [template::list::orderby_clause -name folder_items -orderby] + - + select - decode(i.content_type, 'content_folder', 't', 'f') is_folder, - decode(i.content_type, 'content_template', 't', 'f') is_template, - r.item_id, r.resolved_id, r.is_symlink, r.name, + r.item_id, r.item_id as id, v.revision_id, r.resolved_id, r.is_symlink, + r.name, i.parent_id, i.content_type, i.publish_status, u.publish_date, NVL(trim( decode(o.object_type, 'content_symlink', r.label, 'content_folder', f.label, nvl(v.title, i.name))), '-') title, - decode(i.publish_status, 'live', - to_char(u.publish_date, 'MM/DD/YYYY'), '-') publish_date, - o.object_type, t.pretty_name content_type, - to_char(o.last_modified, 'MM/DD/YYYY HH24:MI') last_modified_date, - decode(r.item_id, :index_page_id, 't', 'f') is_index_page, - nvl(to_char(round(v.content_length / 1000, 2)), '-') file_size + o.object_type, t.pretty_name as pretty_content_type, last_modified, + v.content_length from cr_resolved_items r, cr_items i, cr_folders f, cr_revisions v, cr_revisions u, acs_objects o, acs_object_types t @@ -72,10 +66,8 @@ and i.item_id = f.folder_id (+) and - -- paginator sql - r.item_id in (CURRENT_PAGE_SET) - order by - is_index_page desc $orderby_clause + [template::list::page_where_clause -and -name folder_items -key r.item_id] + [template::list::orderby_clause -name folder_items -orderby] Index: openacs-4/packages/cms/www/modules/sitemap/index-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/index-postgresql.xql,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/cms/www/modules/sitemap/index-postgresql.xql 16 Nov 2004 22:32:50 -0000 1.6 +++ openacs-4/packages/cms/www/modules/sitemap/index-postgresql.xql 6 Apr 2005 00:20:59 -0000 1.7 @@ -3,56 +3,15 @@ postgresql7.1 - + - - select - r.item_id, '' as context, - case when o.object_type = 'content_symlink' then r.label - when o.object_type = 'content_folder' then f.label - else coalesce(v.title, i.name) end as title, - case when r.item_id = :index_page_id then 't' - else 'f' end as is_index_page, - coalesce(round(v.content_length::numeric / 1000.0, 2)::float8::text, '-') as file_size - from - cr_items i - LEFT OUTER JOIN - cr_revisions v ON i.latest_revision = v.revision_id - LEFT OUTER JOIN - cr_revisions u ON i.live_revision = u.revision_id - LEFT OUTER JOIN - cr_folders f ON i.item_id = f.folder_id, - cr_resolved_items r, acs_objects o, acs_object_types t - where - r.parent_id = $parent_var - and - r.resolved_id = i.item_id - and - i.item_id = o.object_id - and - i.content_type = t.object_type - order by - is_index_page desc $orderby_clause - - - - - - select - case when i.content_type = 'content_folder' then 't' else'f' end as is_folder, - case when i.content_type = 'content_template' then 't' else 'f' end as is_template, - r.item_id, r.resolved_id, r.is_symlink, r.name, + r.item_id, coalesce(trim( case when o.object_type = 'content_symlink' then r.label when o.object_type = 'content_folder' then f.label - else coalesce(v.title, i.name) end),'-') as title, - case when i.publish_status = 'live' then to_char(u.publish_date, 'MM/DD/YYYY') else '-' end as publish_date, - o.object_type, t.pretty_name as content_type, - to_char(o.last_modified, 'MM/DD/YYYY HH24:MI') as last_modified_date, - case when r.item_id = :index_page_id then 't' else 'f' end as is_index_page, - coalesce(round(v.content_length::numeric / 1000.0, 2)::float8::text, '-') as file_size + else coalesce(v.title, i.name) end),'-') as title from cr_items i LEFT OUTER JOIN @@ -70,30 +29,23 @@ i.item_id = o.object_id and i.content_type = t.object_type - and - -- paginator sql - r.item_id in (CURRENT_PAGE_SET) - order by - is_index_page desc $orderby_clause - + [template::list::orderby_clause -name folder_items -orderby] + - + select - case when i.content_type = 'content_folder' then 't' else'f' end as is_folder, - case when i.content_type = 'content_template' then 't' else 'f' end as is_template, - r.item_id, r.item_id as id, v.revision_id, r.resolved_id, r.is_symlink, r.name, i.parent_id, + r.item_id, r.item_id as id, v.revision_id, r.resolved_id, r.is_symlink, + r.name, i.parent_id, i.content_type, i.publish_status, u.publish_date, coalesce(trim( case when o.object_type = 'content_symlink' then r.label when o.object_type = 'content_folder' then f.label else coalesce(v.title, i.name) end),'-') as title, - case when i.publish_status = 'live' then to_char(u.publish_date, 'MM/DD/YYYY') else '-' end as publish_date, - o.object_type, t.pretty_name as content_type, - to_char(o.last_modified, 'MM/DD/YYYY HH24:MI') as last_modified_date, - coalesce(round(v.content_length::numeric / 1000.0, 2)::float8::text, '-') as file_size + o.object_type, t.pretty_name as pretty_content_type, last_modified, + v.content_length from cr_items i LEFT OUTER JOIN @@ -111,13 +63,16 @@ i.item_id = o.object_id and i.content_type = t.object_type + [template::list::page_where_clause -and -name folder_items -key r.item_id] + [template::list::orderby_clause -name folder_items -orderby] + - select content_symlink__resolve( :item_id ) + select content_symlink__resolve( :folder_id ) @@ -143,7 +98,7 @@ where i.item_id = s.target_id and - i.item_id = :original_id + i.item_id = :original_folder_id @@ -158,7 +113,7 @@ where i.item_id = f.folder_id and - f.folder_id = :item_id + f.folder_id = :folder_id Index: openacs-4/packages/cms/www/modules/sitemap/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/index.adp,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/cms/www/modules/sitemap/index.adp 16 Nov 2004 22:32:50 -0000 1.4 +++ openacs-4/packages/cms/www/modules/sitemap/index.adp 6 Apr 2005 00:20:59 -0000 1.5 @@ -46,7 +46,7 @@ - + Add a new under this @what@. Index: openacs-4/packages/cms/www/modules/sitemap/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/index.tcl,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/cms/www/modules/sitemap/index.tcl 16 Nov 2004 22:32:50 -0000 1.7 +++ openacs-4/packages/cms/www/modules/sitemap/index.tcl 6 Apr 2005 00:20:59 -0000 1.8 @@ -7,10 +7,11 @@ @author Michael Steigman @creation-date October 2004 } { - { item_id:integer ""} + { folder_id:integer ""} { mount_point "sitemap" } { parent_id:integer ""} - { orderby "name" } + { orderby "title,asc" } + { page:optional } } # request create @@ -25,15 +26,15 @@ # Create all the neccessary URL params for passthrough set passthrough "mount_point=$mount_point&parent_id=$parent_id" -set original_id $item_id +set original_folder_id $folder_id set user_id [auth::require_login] set root_id [cm::modules::${mount_point}::getRootFolderID] set package_url [ad_conn package_url] # Get the folder label/description # If :id does not exist, then use :root_id -if { [template::util::is_nil item_id] } { +if { [template::util::is_nil folder_id] } { set parent_var :root_id @@ -65,12 +66,12 @@ } else { - set parent_var :item_id + set parent_var :folder_id # Resolve the symlink, if any set resolved_id [db_string get_resolved_id ""] - if { $resolved_id != $item_id } { + if { $resolved_id != $folder_id } { set is_symlink t set item_id $resolved_id set what "Link" @@ -105,71 +106,64 @@ set templates_allowed t } - } set page_title "Content Folder - $info(label)" # Make sure the user has the right access to this folder, # set up the user_permissions array -if { [template::util::is_nil item_id] } { - set object_id $root_id -} else { - set object_id $item_id -} +# if { [template::util::is_nil folder_id] } { +# set object_id $root_id +# } else { +# set object_id $folder_id +# } -content::check_access $object_id "cm_examine" \ - -user_id $user_id -mount_point $mount_point -parent_id $parent_id \ - -return_url "modules/sitemap/index" \ - -passthrough [list [list item_id $original_id] [list orderby $orderby]] +# content::check_access $object_id "cm_examine" \ +# -user_id $user_id -mount_point $mount_point -parent_id $parent_id \ +# -return_url "modules/sitemap/index" \ +# -passthrough [list [list item_id $original_id] [list orderby $orderby]] # If the user doesn't have the New permission, he can't create any new items # at all -if { [string equal $user_permissions(cm_new) f] } { - set info(subfolders_allowed) f - set info(symlinks_allowed) f - set info(templates_allowed) f -} +#if { [string equal $user_permissions(cm_new) f] } { +# MS: FIXME +set info(subfolders_allowed) f +set info(symlinks_allowed) f +set info(templates_allowed) f +#} - - - -# Get the cookie; prepare for setting bookmarks -#set clip [clipboard::parse_cookie] - # Get the index page ID set index_page_id [db_string get_index_page_id ""] -# REMOVED CODE GOES HERE - # symlinks to this folder/item db_multirow symlinks get_symlinks "" # build folder contents list -if { [template::util::is_nil item_id] } { +if { [template::util::is_nil folder_id] } { set folder_id $root_id set parent_id $root_id } else { - set folder_id $item_id - set parent_id $item_id +# set parent_id $folder_id } template::list::create \ -name folder_items \ -multirow folder_contents \ -has_checkboxes \ -key item_id \ + -page_size 20 \ + -page_query_name get_folder_contents_paginate \ -actions [list "Attributes" [export_vars -base attributes?mount_point=sitemap {folder_id}] "Folder Attributes" \ - "Delete Folder" [export_vars -base delete?mount_point=sitemap {item_id}] "Delete this folder" \ - "Rename Folder" [export_vars -base rename?mount_point=sitemap {item_id}] "Rename this folder" \ - "New Folder" [export_vars -base create?mount_point=sitemap {parent_id}] "Create a new folder within this folder" \ - "Move Items" [export_vars -base move?mount_point=sitemap {item_id}] "Move marked items to this folder" \ - "Copy Items" [export_vars -base copy?mount_point=sitemap {item_id}] "Copy marked items to this folder" \ - "Link Items" [export_vars -base symlink?mount_point=sitemap {item_id}] "Link marked items to this folder" \ - "Delete Items" [export_vars -base delete-items?mount_point=sitemap {item_id}] "Delete marked items"] \ + "Delete Folder" [export_vars -base delete?mount_point=sitemap {folder_id parent_id}] "Delete this folder" \ + "Rename Folder" [export_vars -base rename?mount_point=sitemap {folder_id}] "Rename this folder" \ + "New Folder" [export_vars -base create?mount_point=sitemap {folder_id}] "Create a new folder within this folder" \ + "Move Items" [export_vars -base move?mount_point=sitemap {folder_id}] "Move marked items to this folder" \ + "Copy Items" [export_vars -base copy?mount_point=sitemap {folder_id}] "Copy marked items to this folder" \ + "Link Items" [export_vars -base symlink?mount_point=sitemap {folder_id}] "Link marked items to this folder" \ + "Delete Items" [export_vars -base delete-items?mount_point=sitemap {folder_id}] "Delete marked items"] \ -elements { copy { label "Clipboard" @@ -179,39 +173,61 @@ label "Name" link_html { title "View this item"} link_url_col item_url + orderby title } file_size { label "Size" } publish_date { label "Publish Date" + display_eval { + [ad_decode $publish_status "live" \ + [lc_time_fmt $publish_date "%q %r"] \ + "-"] + } } - content_type { + pretty_content_type { label "Type" } - last_modified_date { + last_modified { label "Last Modified" + orderby last_modified + display_eval {[lc_time_fmt $last_modified "%q %r"]} } + } \ + -filters { + folder_id {} + parent_id {} + mount_point {} } -db_multirow -extend { item_url copy } folder_contents get_folder_contents "" { - if { $is_folder } { - set item_url [export_vars -base index?mount_point=sitemap { item_id parent_id }] +db_multirow -extend { item_url copy file_size } folder_contents get_folder_contents "" { + switch $content_type { + content_folder { + set folder_id $item_id + set item_url [export_vars -base index?mount_point=sitemap { folder_id parent_id }] + } + default { + set item_url [export_vars -base ../items/index?mount_point=sitemap { item_id revision_id parent_id }] + } + } + if { ![ template::util::is_nil content_length ] } { + set file_size [lc_numeric [expr $content_length / 1000.00] "%.2f"] } else { - set item_url [export_vars -base ../items/index?mount_point=sitemap { item_id revision_id parent_id }] + set file_size "-" } set copy [clipboard::render_bookmark sitemap $item_id $package_url] } form create add_item -if { [template::util::is_nil original_id] } { +if { [template::util::is_nil original_folder_id] } { set the_id $root_id } else { - set the_id $original_id + set the_id $original_folder_id } -element create add_item item_id \ +element create add_item folder_id \ -datatype integer -widget hidden -param -optional element create add_item mount_point \ @@ -227,10 +243,10 @@ -options $revision_types if { [form is_valid add_item] } { - form get_values add_item item_id mount_point content_type + form get_values add_item folder_id mount_point content_type # if the folder_id is empty, then it must be the root folder - if { [template::util::is_nil item_id] } { + if { [template::util::is_nil folder_id] } { set folder_id [cm::modules::${mount_point}::getRootFolderID] } else { set folder_id $item_id @@ -242,6 +258,3 @@ forward "../items/create-1?parent_id=$folder_id&mount_point=$mount_point&content_type=$content_type" } } - - - Index: openacs-4/packages/cms/www/modules/sitemap/index.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/index.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/sitemap/index.xql 16 Nov 2004 22:32:50 -0000 1.2 +++ openacs-4/packages/cms/www/modules/sitemap/index.xql 6 Apr 2005 00:20:59 -0000 1.3 @@ -33,7 +33,7 @@ from cr_folder_type_map where - folder_id = :item_id + folder_id = :folder_id Index: openacs-4/packages/cms/www/modules/sitemap/rename-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/rename-oracle.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/sitemap/rename-oracle.xql 1 Jun 2004 22:54:18 -0000 1.2 +++ openacs-4/packages/cms/www/modules/sitemap/rename-oracle.xql 6 Apr 2005 00:20:59 -0000 1.3 @@ -8,7 +8,7 @@ begin content_folder.edit_name ( - folder_id => :item_id, + folder_id => :folder_id, name => :name, label => :label, description => :description Index: openacs-4/packages/cms/www/modules/sitemap/rename-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/rename-postgresql.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/www/modules/sitemap/rename-postgresql.xql 1 Jun 2004 22:54:18 -0000 1.2 +++ openacs-4/packages/cms/www/modules/sitemap/rename-postgresql.xql 6 Apr 2005 00:20:59 -0000 1.3 @@ -7,7 +7,7 @@ select content_folder__edit_name ( - :item_id, + :folder_id, :name, :label, :description Index: openacs-4/packages/cms/www/modules/sitemap/rename.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/rename.tcl,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/cms/www/modules/sitemap/rename.tcl 16 Nov 2004 22:32:50 -0000 1.5 +++ openacs-4/packages/cms/www/modules/sitemap/rename.tcl 6 Apr 2005 00:20:59 -0000 1.6 @@ -1,18 +1,18 @@ # Change name, label and description of folder. request create -request set_param item_id -datatype integer +request set_param folder_id -datatype integer request set_param mount_point -datatype keyword -value sitemap # permissions check - renaming a folder requires cm_write on the folder -content::check_access $item_id cm_write -user_id [auth::require_login] +#content::check_access $item_id cm_write -user_id [auth::require_login] # Create then form form create rename_folder -element create rename_folder item_id \ +element create rename_folder folder_id \ -datatype integer -widget hidden -param element create rename_folder parent_id \ @@ -37,7 +37,7 @@ if { [form is_request rename_folder] } { - set item_id [element get_value rename_folder item_id] + set folder_id [element get_value rename_folder folder_id] # Get existing folder parameters db_1row get_info "" -column_array info @@ -47,33 +47,17 @@ element set_properties rename_folder description -value $info(description) } - - - - - # Rename if { [form is_valid rename_folder] } { form get_values rename_folder \ - item_id name label description parent_id mount_point + folder_id name label description parent_id mount_point db_transaction { - - db_exec_plsql rename_folder " - begin - content_folder.edit_name ( - folder_id => :item_id, - name => :name, - label => :label, - description => :description - ); - end;" + db_exec_plsql rename_folder {} } - # flush paginator cache for this folder - cms_folder::flush $mount_point $parent_id + ad_returnredirect [export_vars -base index {folder_id}] - template::forward "refresh-tree?id=$parent_id&goto_id=$item_id" } Index: openacs-4/packages/cms/www/modules/sitemap/rename.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/rename.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/sitemap/rename.xql 25 May 2001 23:49:05 -0000 1.1 +++ openacs-4/packages/cms/www/modules/sitemap/rename.xql 6 Apr 2005 00:20:59 -0000 1.2 @@ -9,9 +9,9 @@ from cr_items i, cr_folders f where - i.item_id = :item_id + i.item_id = :folder_id and - f.folder_id = :item_id + f.folder_id = :folder_id