Index: openacs-4/packages/xowiki/tcl/xowiki-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-procs.tcl,v
diff -u -r1.47 -r1.48
--- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 6 Aug 2006 19:57:09 -0000 1.47
+++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 9 Aug 2006 00:37:52 -0000 1.48
@@ -100,174 +100,7 @@
"create index xowiki_tags_index_tag ON xowiki_tags(tag, package_id)"
}
-
-
#
- # upgrade logic
- #
-
- ad_proc ::xowiki::upgrade_callback {
- {-from_version_name:required}
- {-to_version_name:required}
- } {
-
- Callback for upgrading
-
- @author Gustaf Neumann (neumann@wu-wien.ac.at)
- } {
- ns_log notice "-- UPGRADE $from_version_name -> $to_version_name"
-
- if {$to_version_name eq "0.13"} {
- ns_log notice "-- upgrading to 0.13"
- set package_id [::Generic::package_id_from_package_key xowiki]
- set folder_id [::xowiki::Page require_folder \
- -package_id $package_id \
- -name xowiki]
- set r [::CrWikiPage instantiate_all -folder_id $folder_id]
- db_transaction {
- array set map {
- ::CrWikiPage ::xowiki::Page
- ::CrWikiPlainPage ::xowiki::PlainPage
- ::PageTemplate ::xowiki::PageTemplate
- ::PageInstance ::xowiki::PageInstance
- }
- foreach e [$r children] {
- set oldClass [$e info class]
- if {[info exists map($oldClass)]} {
- set newClass $map($oldClass)
- ns_log notice "-- old class [$e info class] -> $newClass, \
- fetching [$e set item_id] "
- [$e info class] fetch_object -object $e -item_id [$e set item_id]
- set oldtitle [$e set title]
- $e append title " (old)"
- $e save
- $e class $newClass
- $e set title $oldtitle
- $e set name $oldtitle
- $e save_new
- } else {
- ns_log notice "-- no new class for $oldClass"
- }
- }
- }
- }
-
- if {[apm_version_names_compare $from_version_name "0.19"] == -1 &&
- [apm_version_names_compare $to_version_name "0.19"] > -1} {
- ns_log notice "-- upgrading to 0.19"
- ::xowiki::sc::register_implementations
- }
-
- if {[apm_version_names_compare $from_version_name "0.21"] == -1 &&
- [apm_version_names_compare $to_version_name "0.21"] > -1} {
- ns_log notice "-- upgrading to 0.21"
- db_1row create_att {
- select content_type__create_attribute(
- '::xowiki::Page','page_title','text',
- 'Page Title',null,null,null,'text' )}
- db_1row create_att {
- select content_type__create_attribute(
- '::xowiki::Page','creator','text',
- 'Creator',null,null,null,'text' )}
- db_1row refresh "select content_type__refresh_view('::xowiki::PlainPage') from dual"
- db_1row refresh "select content_type__refresh_view('::xowiki::PageTemplate') from dual"
- db_1row refresh "select content_type__refresh_view('::xowiki::PageInstance') from dual"
- db_1row refresh "select content_type__refresh_view('::xowiki::Object') from dual"
- }
-
- if {[apm_version_names_compare $from_version_name "0.22"] == -1 &&
- [apm_version_names_compare $to_version_name "0.22"] > -1} {
- ns_log notice "-- upgrading to 0.22"
- set folder_ids [list]
- set package_ids [list]
- db_foreach get_xowiki_packages {select * from apm_packages where package_key = 'xowiki'} {
- set folder_id [db_string get_folder_id "select f.folder_id from cr_items c, cr_folders f \
- where c.name = 'xowiki: $package_id' and c.item_id = f.folder_id"]
- if {$folder_id ne ""} {
- db_dml update_package_id {update cr_folders set package_id = :package_id
- where folder_id = :folder_id}
- lappend folder_ids $folder_id
- lappend package_ids $package_id
- }
- }
- foreach f $folder_ids p $package_ids {
- db_dml update_context_ids "update acs_objects set context_id = $p where object_id = $f"
- }
- }
-
- if {[apm_version_names_compare $from_version_name "0.25"] == -1 &&
- [apm_version_names_compare $to_version_name "0.25"] > -1} {
- ns_log notice "-- upgrading to 0.25"
- acs_sc::impl::new_from_spec -spec {
- name "::xowiki::PageInstance"
- aliases {
- datasource ::xowiki::datasource
- url ::xowiki::url
- }
- contract_name FtsContentProvider
- owner xowiki
- }
-# foreach pkgid [site_node::get_children -package_key xowiki -all \
-# -node_id 0 -element package_id] {
-# ::xowiki::Page reindex -package_id $pkgid
-# }
- }
-
- if {[apm_version_names_compare $from_version_name "0.27"] == -1 &&
- [apm_version_names_compare $to_version_name "0.27"] > -1} {
- ns_log notice "-- upgrading to 0.27"
- db_dml copy_page_title_into_title \
- "update cr_revisions set title = p.page_title from xowiki_page p \
- where page_title != '' and revision_id = p.page_id"
- db_foreach delete_deprecated_types_from_ancient_versions \
- "select content_item__delete(i.item_id) from cr_items i \
- where content_type in ('CrWikiPage', 'CrWikiPlainPage', \
- 'PageInstance', 'PageTemplate','CrNote', 'CrSubNote')" {;}
- }
-
- if {[apm_version_names_compare $from_version_name "0.30"] == -1 &&
- [apm_version_names_compare $to_version_name "0.30"] > -1} {
- ns_log notice "-- upgrading to 0.30"
- # delete orphan cr revisions, created automatically by content_item
- # new, when e.g. a title is specified....
- foreach class {::xowiki::Page ::xowiki::PlainPage ::xowiki::Object
- ::xowiki::PageTemplate ::xowiki::PageInstance} {
- db_dml delete_orphan_revisions "
- delete from cr_revisions where revision_id in (
- select r.revision_id from cr_items i,cr_revisions r
- where i.content_type = '$class' and r.item_id = i.item_id
- and not r.revision_id in (select [$class id_column] from [$class table_name]))
- "
- db_dml delete_orphan_items "
- delete from acs_objects where object_type = '$class'
- and not object_id in (select item_id from cr_items where content_type = '$class')
- and not object_id in (select [$class id_column] from [$class table_name])
- "
- }
- }
-
- if {[apm_version_names_compare $from_version_name "0.31"] == -1 &&
- [apm_version_names_compare $to_version_name "0.31"] > -1} {
- ns_log notice "-- upgrading to 0.31"
- set folder_ids [list]
- set package_ids [list]
- db_foreach get_xowiki_packages {select * from apm_packages where package_key = 'xowiki'} {
- set folder_id [db_string get_folder_id "select f.folder_id from cr_items c, cr_folders f \
- where c.name = 'xowiki: $package_id' and c.item_id = f.folder_id"]
- if {$folder_id ne ""} {
- db_dml update_package_id {update acs_objects set package_id = :package_id where object_id in
- (select item_id as object_id from cr_items where parent_id = :folder_id)}
- db_dml update_package_id {update acs_objects set package_id = :package_id where object_id in
- (select r.revision_id as object_id from cr_revisions r, cr_items i where
- i.item_id = r.item_id and i.parent_id = :folder_id)}
- Package create ::$package_id -volatile -folder_id $folder_id -use_ns_conn false
- ::$package_id reindex
- }
- }
- }
- }
-
- #
# Page definitions
#
@@ -284,13 +117,15 @@
{lang_links ""}
{lang en}
{render_adp 1}
+ {absolute_links 0}
}
Page set recursion_count 0
Page array set RE {
include {([^\\]){{(.+)}}[ \n\r]*}
anchor {([^\\])\\\[\\\[([^\]]+)\\\]\\\]}
- div {()([^\\])>>([^&]*)<<}
+ div {()([^\\])>>([^&]*)<<()([ \n]*
)?}
clean {[\\](\{\{|>>|\[\[)}
+ clean2 {
*(