Index: openacs-4/packages/lorsm/www/course-structure.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/Attic/course-structure.tcl,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/lorsm/www/course-structure.tcl 21 Apr 2005 16:03:53 -0000 1.6
+++ openacs-4/packages/lorsm/www/course-structure.tcl 17 May 2005 17:03:40 -0000 1.7
@@ -16,6 +16,7 @@
}
set package_id [ad_conn package_id]
+set community_id [dotlrn_community::get_community_id]
ad_proc -public getFolderKey {
{-object_id:required}
@@ -34,39 +35,7 @@
set title "[_ lorsm.Course_Structure]"
-if {[db_0or1row manifest "
- select
- cp.man_id,
- cp.course_name,
- cp.identifier,
- cp.version,
- text 'Yes' as hello,
- case
- when hasmetadata = 't' then 'Yes'
- else 'No'
- end as man_metadata,
- case
- when isscorm = 't' then 'Yes'
- else 'No'
- end as isscorm,
- cp.fs_package_id,
- cp.folder_id,
- cp.isshared,
- acs.creation_user,
- acs.creation_date,
- acs.context_id,
- cpmc.isenabled,
- pf.format_pretty_name,
- cpmc.istrackable
- from
- ims_cp_manifests cp, acs_objects acs, ims_cp_manifest_class cpmc, lorsm_course_presentation_formats pf
- where
- cp.man_id = acs.object_id
- and cp.man_id = :man_id
- and cp.man_id = cpmc.man_id
- and cpmc.lorsm_instance_id = :package_id
- and cp.parent_man_id = 0
- and cp.course_presentation_format = pf.format_id"]} {
+if {[db_0or1row manifest { }]} {
# Sets the variable for display.
set display 1
@@ -77,32 +46,37 @@
}
# Version
- if {[empty_string_p $version]} {
- set version "[_ lorsm.No_version_Available]"
+ set version [db_string get_versions { } -default 0]
+
+ if {[string equal $version "0"]} {
+ set version_msg "[_ lorsm.No_version_Available]"
}
- # Instance
- set instance [apm_package_key_from_id $fs_package_id]
+ if { ![empty_string_p $fs_package_id] } {
+ # Folder
+ set folder [apm_package_url_from_id $fs_package_id]?[export_vars folder_id]
+ # Instance
+ set instance [apm_package_key_from_id $fs_package_id]
+ } else {
+ set fs_package_id [site_node_apm_integration::get_child_package_id \
+ -package_id [dotlrn_community::get_package_id $community_id] \
+ -package_key "file-storage"]
+ # Instance
+ set instance [lors_central::get_course_name -man_id $man_id]
+ # Folder
+ set root_folder [lors_central::get_root_folder_id]
+ set folder_id [db_string get_folder_id { }]
+ set folder [apm_package_url_from_id $fs_package_id]?[export_vars folder_id]
+ }
- # Folder
- set folder [apm_package_url_from_id $fs_package_id]?[export_vars folder_id]
-
# Created By
set created_by [person::name -person_id $creation_user]
# Creation Date
set creation_date [lc_time_fmt $creation_date "%x %X"]
# Check for submanifests
- if {[db_0or1row submans "
- select
- count(*) as submanifests
- from
- ims_cp_manifests
- where
- man_id = :man_id
- and
- parent_man_id = :man_id"]} {
+ if {[db_0or1row submans { }]} {
} else {
set submanifests 0
}
@@ -122,100 +96,37 @@
[_ lorsm.Items] |
"
-db_foreach organizations {
- select
- org.org_id,
- org.title as org_title,
- org.hasmetadata,
- tree_level(o.tree_sortkey) as indent
- from
- ims_cp_organizations org, acs_objects o
- where
- org.org_id = o.object_id
- and
- man_id = :man_id
- order by
- org_id
-} {
+db_foreach organizations { } {
+ set total_items [db_string items_count {select count(*) from ims_cp_items where org_id=:org_id} -default 0]
+ # We get the indent of the items in this org_id
+ set indent_list [lors_central::get_items_indent -org_id $org_id]
+ template::util::list_of_lists_to_array $indent_list indent_array
+
+
append orgs_list "$org_title | $hasmetadata | "
set indent [expr $indent +1]
set missing_text "[_ lorsm.Nothing_here]"
set return_url [export_vars -base [ns_conn url] man_id]
set table_extra_html { width="100%" }
-
- set table_extra_vars {return_url}
+ set table_extra_vars {return_url indent_array lorsm_p}
set table_def {
- { title "[_ lorsm.Item_Name]" "no_sort" " | $indent[if {![empty_string_p $identifierref]} {set href \"$item_title\"} else {set href $item_title}] | " }
- { Edit "[_ lorsm.Edit]" "no_sort" "[if {![empty_string_p $identifierref]} {set href \"[_ lorsm.Edit_1] | \"}]"}
- { metadata "[_ lorsm.Metadata_1]" "no_sort" "[if {$hasmetadata == \"f\"} {set hasmetadata \"No\"} else {set hasmetadata \"Yes\"}] | " }
- { type "[_ lorsm.Type]" "no_sort" "$type | " }
- { shared "[_ lorsm.Is_Shared]" "no_sort" "[if {$isshared == false} {set ret \"No\"}] | " }
+ { title "\#lorsm.Item_Name\#" "no_sort" "
+ [set indent \"\"
+ for { set i 0 } { $i < [expr $indent_array($item_id)-1]} { incr i } {
+ append indent \" \"
+ }
+ if {![empty_string_p $identifierref]} {set href \"$indent$item_title\"} else {set href $item_title}] | " }
+ { Edit "\#lorsm.Edit\#" "no_sort" "[if {![empty_string_p $identifierref]} { if { $lorsm_p } { set href \"[_ lorsm.Edit_1] | \"} else { set href \"Edit\" }}]"}
+ { metadata "\#lorsm.Metadata_1\#" "no_sort" "[if {$hasmetadata == \"f\"} { if { $lorsm_p } { set hasmetadata \"No\"} else { set hasmetadata \"No\"} } else { if { $lorsm_p } { set hasmetadata \"Yes\"} else { set hasmetadata \"Yes\"}}] | " }
+ { type "\#lorsm.Type\#" "no_sort" "$type | " }
+ { shared "\#lorsm.Is_Shared\#" "no_sort" "[if {$isshared == false} {set ret \"No\"}] | " }
}
- set table_item [ad_table -Tmissing_text $missing_text -Textra_vars $table_extra_vars -Theader_row_extra "style=\"background-color: #e0e0e0; font-weight: bold;\" class=\"list-header\"" -Ttable_extra_html $table_extra_html blah {
- SELECT
- o.object_id,
- repeat(' ', (tree_level(tree_sortkey) - :indent)* 3) as indent,
- i.item_id,
- i.title as item_title,
- i.hasmetadata,
- i.org_id,
- case
- when i.isshared = 'f' then (
- 'false'
- )
- else 'true'
- end as isshared,
- case
- when i.identifierref <> '' then (
- SELECT
- res.href
- FROM
- ims_cp_items_to_resources i2r,
- ims_cp_resources res
- WHERE
- i2r.res_id = res.res_id
- AND
- i2r.item_id = i.item_id
-)
- else ''
- end as identifierref,
- case
- when i.identifierref <> '' then (
- SELECT
- res.type
- FROM
- ims_cp_items_to_resources i2r,
- ims_cp_resources res
- WHERE
- i2r.res_id = res.res_id
- AND
- i2r.item_id = i.item_id
-)
- else ''
- end as type,
- m.fs_package_id,
- m.folder_id,
- m.course_name
- FROM
- acs_objects o, ims_cp_items i, ims_cp_manifests m
- WHERE
- o.object_type = 'ims_item'
- AND
- i.org_id = :org_id
- AND
- o.object_id = i.item_id
- AND
- m.man_id = :man_id
- ORDER BY
- tree_sortkey, object_id
+ set table_item [ad_table -Tmissing_text $missing_text -Textra_vars $table_extra_vars -Theader_row_extra "style=\"background-color: #e0e0e0; font-weight: bold;\" class=\"list-header\"" -Ttable_extra_html $table_extra_html blah { } $table_def]
-
- } $table_def]
-
append orgs_list "$table_item"
@@ -231,4 +142,3 @@
set tracker_url [export_vars -base tracker {man_id}]
set sharer_url [export_vars -base sharer {man_id folder_id return_url}]
set formater_url [export_vars -base formater {man_id return_url}]
-