Index: openacs-4/packages/new-portal/tcl/portal-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/tcl/portal-procs.tcl,v diff -u -r1.178 -r1.179 --- openacs-4/packages/new-portal/tcl/portal-procs.tcl 11 May 2005 13:59:44 -0000 1.178 +++ openacs-4/packages/new-portal/tcl/portal-procs.tcl 8 Aug 2006 21:26:59 -0000 1.179 @@ -446,16 +446,21 @@ set first_page_p [portal::first_page_p -portal_id $portal_id -page_id $page_id] # We allow portal page names to have embedded message keys that we localize on the fly - set page_name [lang::util::localize [portal::get_page_pretty_name -page_id $page_id]] + db_1row get_page_info {} + set page_name [lang::util::localize $pretty_name_unlocalized] set page_layout_id [portal::get_layout_id -page_id $page_id] - + if { [string equal $hidden_p t] } { + set tab_toggle_label [lang::util::localize "\#new-portal.Show_in_main_navigation\#"] + } else { + set tab_toggle_label [lang::util::localize "\#new-portal.Hide_in_main_navigation\#"] + } append template "" # # Page rename chunk # set page_name_chunk "
- + + + + + + + + + + " append template "$page_name_chunk" @@ -673,40 +685,40 @@ db_dml revert_theme_update {} # revert pages - # first equalize number of pages in the target - set template_page_count [page_count -portal_id $template_id] - set target_page_count [page_count -portal_id $portal_id] - set difference [expr $template_page_count - $target_page_count] - - if {$difference > 0} { - # less pages in target - for {set x 0} {$x < $difference} {incr x} { + + # Roel - 03-10-2005, fix for revert problems + # This fix tries to match the target portal with the + # template before the revert via the pages' sort keys + + # First, create source pages that aren't in the target portal + db_foreach revert_source_pages {} { + if { ! [db_0or1row revert_get_target_page_id {}] } { + set pretty_name "portal revert dummy page $sort_key" + set page_id [page_create \ + -pretty_name $pretty_name \ + -portal_id $portal_id] + + # Now set the page's sort_key + db_dml revert_set_target_page_sort_key {} + } + } + + # Second, delete target pages that aren't in the source + # portal + db_foreach revert_target_pages {} { + if { ! [db_0or1row revert_get_source_page_id {}] } { + set move_to_page_id [db_string revert_min_page_id_select {}] - set pretty_name "portal revert dummy page $x" - page_create \ - -pretty_name $pretty_name \ - -portal_id $portal_id - } - } elseif {$difference < 0} { - # more pages in target, delete them from the end, - # putting any elements on them on the first page, - # we put them in the right place later - for {set x 0} {$x < [expr abs($difference)]} {incr x} { - - set max_page_id [db_string revert_max_page_id_select {}] - set page_id [db_string revert_min_page_id_select {}] - set region 1 - db_foreach revert_move_elements_for_del {} { portal::move_element_to_page \ - -page_id $page_id \ + -page_id $move_to_page_id \ -element_id $element_id \ -region 1 } - page_delete -page_id $max_page_id - } - } + page_delete -page_id $page_id + } + } # now that they have the same number of pages, get to it foreach source_page_id \ @@ -819,6 +831,9 @@ ad_return_complaint 1 "[_ new-portal.lt_You_must_enter_new_na]" } set_page_pretty_name -pretty_name $pretty_name -page_id $page_id + } elseif { ![empty_string_p [ns_set get $form "op_toggle_tab_visibility"]] } { + set page_id [ns_set get $form page_id] + db_dml toggle_tab_visibility {} } elseif { ![empty_string_p [ns_set get $form "op_toggle_pinned"]] } { set element_id [ns_set get $form element_id]

[ad_quotehtml $page_name]

$page_name

@@ -464,8 +469,15 @@ -
-
\"\"