Index: openacs-4/packages/acs-content-repository/acs-content-repository.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/acs-content-repository.info,v
diff -u -N -r1.90 -r1.91
--- openacs-4/packages/acs-content-repository/acs-content-repository.info 27 Jan 2010 17:34:09 -0000 1.90
+++ openacs-4/packages/acs-content-repository/acs-content-repository.info 9 Mar 2010 11:49:46 -0000 1.91
@@ -7,7 +7,7 @@
t
t
-
+
OpenACS
The canonical repository for OpenACS content.
2009-06-19
@@ -20,7 +20,7 @@
GPL
3
-
+
Index: openacs-4/packages/acs-content-repository/tcl/revision-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/revision-procs.tcl,v
diff -u -N -r1.28 -r1.29
--- openacs-4/packages/acs-content-repository/tcl/revision-procs.tcl 20 Nov 2008 23:24:57 -0000 1.28
+++ openacs-4/packages/acs-content-repository/tcl/revision-procs.tcl 9 Mar 2010 11:49:46 -0000 1.29
@@ -381,17 +381,17 @@
}
ad_proc -public cr_create_mime_type {
- -extension
- -mime_type
- -description
+ -mime_type:required
+ {-extension ""}
+ {-description ""}
} {
Creates a mime type if it does not exist. Also maps extension to
mime_type (unless the extension is already mapped to another mime
- type).
+ type or extension is empty).
- @param extension the default extension for the given mime type
@param mime_type the mime_type to create
+ @param extension the default extension for the given mime type
@param a plain text description of the mime type (< 200 characters)
@author Jeff Davis (davis@xarg.net)
@@ -412,13 +412,15 @@
where mime_type = :mime_type)
}
- db_dml maybe_map_extension {
- insert into cr_extension_mime_type_map (extension, mime_type)
- select :extension, :mime_type
- from dual
- where not exists (select 1
+ if { $extension ne "" } {
+ db_dml maybe_map_extension {
+ insert into cr_extension_mime_type_map (extension, mime_type)
+ select :extension, :mime_type
+ from dual
+ where not exists (select 1
from cr_extension_mime_type_map
where extension = :extension)
+ }
}
}
Index: openacs-4/packages/acs-content-repository/www/admin/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/index.adp,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/index.adp 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,10 @@
+
+
+ Content Repository Administration
+
+
+
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/extensions.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/extensions.adp,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/extensions.adp 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,6 @@
+
+
+ doc
+ @context@
+
+
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/extensions.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/extensions.tcl,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/extensions.tcl 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,40 @@
+ad_page_contract {
+
+ @author Emmanuelle Raffenne (eraffenne@gmail.com)
+ @creation-date 22-feb-2010
+ @cvs-id $Id: extensions.tcl,v 1.1 2010/03/09 11:49:46 emmar Exp $
+
+} {
+ mime_type:notnull
+}
+
+set mime_type_label [db_string get_mime_type {} -default $mime_type]
+
+set doc(title) "Extensions Mapped to $mime_type_label"
+set context [list [list "./" "Mime Types"] $doc(title)]
+
+set return_url [export_vars -base "extensions" {mime_type}]
+
+set actions [list "Add extension" [export_vars -base "map" {mime_type return_url}] ""]
+
+template::list::create \
+ -name extensions \
+ -multirow extensions \
+ -actions $actions \
+ -elements {
+ mime_type {
+ label "MIME type"
+ }
+ extension {
+ label "Extension"
+ }
+ action {
+ label "Action"
+ link_url_col action_url
+ }
+ }
+
+db_multirow -extend {action action_url} extensions get_extensions {} {
+ set action_url [export_vars -base "unmap" {mime_type extension return_url}]
+ set action "Unmap"
+}
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/extensions.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/extensions.xql,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/extensions.xql 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+ select label
+ from cr_mime_types
+ where mime_type = :mime_type
+
+
+
+
+
+
+
+ select mime_type,extension
+ from cr_extension_mime_type_map
+ where mime_type = :mime_type
+ order by extension
+
+
+
+
+
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/index.adp,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/index.adp 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,6 @@
+
+
+ doc
+ @context@
+
+
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/index.tcl,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/index.tcl 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,99 @@
+ad_page_contract {
+
+ @author Emmanuelle Raffenne (eraffenne@gmail.com)
+ @creation-date 22-feb-2010
+ @cvs-id $Id: index.tcl,v 1.1 2010/03/09 11:49:46 emmar Exp $
+
+} {
+ { extension_p 0 }
+ { orderby "mime_type" }
+}
+
+set return_url [export_vars -base "index" {extension_p orderby}]
+
+set actions [list "Create MIME type" [export_vars -base "new" {return_url}] ""]
+
+if { $extension_p } {
+
+ set doc(title) "MIME Type Extension Map"
+
+ lappend actions "Show MIME types only" [export_vars -base "./" {{extension_p 0}}] ""
+
+ set elms {
+ extension {
+ label "Mapped extension"
+ orderby "map.extension"
+ }
+ mime_type {
+ label "MIME type"
+ link_url_col extensions_url
+ html {title "Manage mapped extensions for this MIME type"}
+ orderby "mime.mime_type"
+ }
+ label {
+ label "Description"
+ link_url_col extensions_url
+ html {title "Manage mapped extensions for this MIME type"}
+ orderby "mime.label"
+ }
+ action {
+ label "Action"
+ link_url_col action_url
+ }
+ }
+
+} else {
+
+ set doc(title) "MIME Types"
+
+ lappend actions "Show extension map" [export_vars -base "./" {{extension_p 1}}] ""
+
+ set elms {
+ mime_type {
+ label "MIME type"
+ link_url_col extensions_url
+ html {title "Manage mapped extensions for this MIME type"}
+ orderby "mime_type"
+ }
+ label {
+ label "Description"
+ link_url_col extensions_url
+ html {title "Manage mapped extensions for this MIME type"}
+ orderby "label"
+ }
+ extension {
+ label "Default extension"
+ orderby "extension"
+ }
+ }
+
+}
+
+template::list::create \
+ -name mime_types \
+ -multirow mime_types \
+ -actions $actions \
+ -orderby_name orderby \
+ -bulk_action_export_vars {extension_p} \
+ -elements $elms \
+ -filters { extension_p }
+
+if { $extension_p } {
+
+ db_multirow -extend {extensions_url action action_url} mime_types get_mime_type_map {} {
+ set extensions_url [export_vars -base "extensions" {mime_type}]
+ if { $extension ne "" } {
+ set action "unmap"
+ set action_url [export_vars -base "unmap" {return_url extension mime_type}]
+ }
+ }
+
+} else {
+
+ db_multirow -extend {extensions_url} mime_types get_mime_types {} {
+ set extensions_url [export_vars -base "extensions" {mime_type}]
+ }
+
+}
+
+set context [list $doc(title)]
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/index.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/index.xql,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/index.xql 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+ select mime.mime_type, mime.label, map.extension
+ from cr_mime_types mime left join cr_extension_mime_type_map map
+ on (mime.mime_type = map.mime_type)
+ [template::list::orderby_clause -orderby -name mime_types]
+
+
+
+
+
+
+
+ select mime_type, label, file_extension as extension
+ from cr_mime_types
+ [template::list::orderby_clause -orderby -name mime_types]
+
+
+
+
+
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/map.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/map.adp,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/map.adp 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,6 @@
+
+
+ doc
+ @context@
+
+
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/map.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/map.tcl,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/map.tcl 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,47 @@
+ad_page_contract {
+
+ @author Emmanuelle Raffenne (eraffenne@gmail.com)
+ @creation-date 22-feb-2010
+ @cvs-id $Id: map.tcl,v 1.1 2010/03/09 11:49:46 emmar Exp $
+
+} {
+ mime_type:notnull
+ {return_url ""}
+}
+
+set doc(title) "Add an extension"
+
+set label [db_string get_mime_type {} -default $mime_type]
+
+set context [list [list [export_vars -base "extensions" {mime_type}] "Extensions mapped to $label"] $doc(title)]
+
+if { $return_url eq "" } {
+ set return_url [export_vars -base "extensions" {mime_type}]
+}
+
+ad_form -name extension_new -export {return_url} -cancel_url $return_url -form {
+ {mime_type:text(inform)
+ {label "MIME type"}
+ {html {size 25}}
+ }
+ {label:text(inform)
+ {label "Description"}
+ {html {size 50}}
+ }
+ {extension:text(text)
+ {label "Extension"}
+ {html {size 5}}
+ }
+} -on_request {
+} -on_submit {
+
+ cr_create_mime_type \
+ -extension $extension \
+ -mime_type $mime_type
+
+} -after_submit {
+
+ ad_returnredirect $return_url
+ ad_script_abort
+
+}
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/map.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/map.xql,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/map.xql 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ select label
+ from cr_mime_types
+ where mime_type = :mime_type
+
+
+
+
+
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/new.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/new.adp,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/new.adp 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,6 @@
+
+
+ doc
+ @context@
+
+
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/new.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/new.tcl,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/new.tcl 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,44 @@
+ad_page_contract {
+
+ @author Emmanuelle Raffenne (eraffenne@gmail.com)
+ @creation-date 22-feb-2010
+ @cvs-id $Id: new.tcl,v 1.1 2010/03/09 11:49:46 emmar Exp $
+
+} {
+ {return_url ""}
+}
+
+set doc(title) "Create a new MIME Type"
+set context [list [list "./" "MIME types"] $doc(title)]
+
+if { $return_url eq "" } {
+ set return_url "./"
+}
+
+ad_form -name mime_type_new -export {return_url} -cancel_url $return_url -form {
+ {mime_type:text(text)
+ {label "MIME type"}
+ {html {size 25}}
+ }
+ {label:text(text)
+ {label "Description"}
+ {html {size 50}}
+ }
+ {extension:text(text),optional
+ {label "Default extension"}
+ {html {size 5}}
+ }
+} -on_request {
+} -on_submit {
+
+ cr_create_mime_type \
+ -extension $extension \
+ -mime_type $mime_type \
+ -description $label
+
+} -after_submit {
+
+ ad_returnredirect $return_url
+ ad_script_abort
+
+}
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/unmap.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/unmap.tcl,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/unmap.tcl 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,19 @@
+ad_page_contract {
+
+ @author Emmanuelle Raffenne (eraffenne@gmail.com)
+ @creation-date 22-feb-2010
+ @cvs-id $Id: unmap.tcl,v 1.1 2010/03/09 11:49:46 emmar Exp $
+
+} {
+ extension:notnull
+ mime_type:notnull
+ {return_url ""}
+}
+
+if { $return_url eq "" } {
+ set return_url "index"
+}
+
+db_dml extension_unmap {}
+
+ad_returnredirect $return_url
Index: openacs-4/packages/acs-content-repository/www/admin/mime-types/unmap.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/admin/mime-types/unmap.xql,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/www/admin/mime-types/unmap.xql 9 Mar 2010 11:49:46 -0000 1.1
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ delete from cr_extension_mime_type_map
+ where extension = :extension and mime_type = :mime_type
+
+
+
+
+