From 34bf47573493957e63fc7c3226e13c7a8ae85ef3 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Tue, 4 Sep 2007 17:57:06 +0000
Subject: [PATCH] 2007-09-04 Kazuhiko * use absolute_url_path instead of
 getPortalPath for better virtual host support.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@16054 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_mobile_ui/erp5.css.xml  | 33 ++++----
 .../erp5_mobile_ui/login_form.xml             |  9 +--
 bt5/erp5_mobile/bt/change_log                 |  2 +
 bt5/erp5_mobile/bt/revision                   |  2 +-
 .../document_zuite/testAddObject.xml          | 19 ++---
 ...testDropDownListActionsNothingSelected.xml |  9 +--
 .../testSimpleRelationFieldSaveButton.xml     |  9 +--
 bt5/erp5_ui_test/bt/change_log                |  3 +
 bt5/erp5_ui_test/bt/revision                  |  2 +-
 .../erp5_fckeditor/erp5_editor.css.xml        | 77 +++++++++----------
 bt5/erp5_web/bt/change_log                    |  3 +
 bt5/erp5_web/bt/revision                      |  2 +-
 .../erp5_xhtml_style/erp5.css.xml             | 77 +++++++++----------
 .../erp5_xhtml_style/global_definitions.xml   |  9 +--
 .../erp5_xhtml_style/login_form.xml           |  9 +--
 .../bootstrap/erp5_xhtml_style/bt/change_log  |  3 +
 .../bootstrap/erp5_xhtml_style/bt/revision    |  2 +-
 17 files changed, 127 insertions(+), 143 deletions(-)

diff --git a/bt5/erp5_mobile/SkinTemplateItem/portal_skins/erp5_mobile_ui/erp5.css.xml b/bt5/erp5_mobile/SkinTemplateItem/portal_skins/erp5_mobile_ui/erp5.css.xml
index c6fce19c7d..170750dc37 100644
--- a/bt5/erp5_mobile/SkinTemplateItem/portal_skins/erp5_mobile_ui/erp5.css.xml
+++ b/bt5/erp5_mobile/SkinTemplateItem/portal_skins/erp5_mobile_ui/erp5.css.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>OFS.DTMLDocument</string>
-          <string>DTMLDocument</string>
-        </tuple>
-        <none/>
+        <global name="DTMLDocument" module="OFS.DTMLDocument"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -434,7 +431,7 @@ margin: 15px;\n
 .button {\n
   border-Top-Width: thin;\n
   border-Top-Color: #3D6464;\n
-  border-Right-Width: thin; \n
+  border-Right-Width: thin;\n
   border-Right-Color: #3D6464;\n
   border-Bottom-Width: thin;\n
   border-Bottom-Color: #3D7474;\n
@@ -449,7 +446,7 @@ margin: 15px;\n
 .button_save {\n
   border-Top-Width: thin;\n
   border-Top-Color: #3D6464;\n
-  border-Right-Width: thin; \n
+  border-Right-Width: thin;\n
   border-Right-Color: #3D6464;\n
   border-Bottom-Width: thin;\n
   border-Bottom-Color: #3D7474;\n
@@ -809,7 +806,7 @@ fieldset {\n
 /* listbox */\n
 \n
 .ListSummary {\n
-  background: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/tab_left.png\') top left no-repeat;\n
+  background: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/tab_left.png\') top left no-repeat;\n
   color: #000;\n
   background-color: <dtml-var document_background_color>;\n
   padding-left: 10px;\n
@@ -907,43 +904,43 @@ fieldset {\n
 }\n
 \n
 #favourites button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/favourite.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/favourite.png\');\n
 }\n
 \n
 #modules button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/appearance.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/appearance.png\');\n
 }\n
 \n
 #language button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/language.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/language.png\');\n
 }\n
 \n
 #search button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/info.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/info.png\');\n
 }\n
 \n
 #actions button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/exec16.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/exec16.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_first .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/2leftarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/2leftarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_previous .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/1leftarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/1leftarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_next .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/1rightarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/1rightarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_last .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/2rightarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/2rightarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .list_mode .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/text_block.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/text_block.png\');\n
 }\n
 \n
 #navigation_bar button .image,\n
diff --git a/bt5/erp5_mobile/SkinTemplateItem/portal_skins/erp5_mobile_ui/login_form.xml b/bt5/erp5_mobile/SkinTemplateItem/portal_skins/erp5_mobile_ui/login_form.xml
index e8e063ea79..1f448eb08c 100644
--- a/bt5/erp5_mobile/SkinTemplateItem/portal_skins/erp5_mobile_ui/login_form.xml
+++ b/bt5/erp5_mobile/SkinTemplateItem/portal_skins/erp5_mobile_ui/login_form.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -79,7 +76,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
 -->\n
 </tal:block>\n
 <tal:block tal:define="form_action string:logged_in;\n
-                       js_list python: [\'%s/login_form.js\' % (here.portal_url.getPortalPath(), )]">\n
+                       js_list python: [\'%s/login_form.js\' % (here.portal_url.absolute_url_path(), )]">\n
 <tal:block metal:use-macro="here/main_template/macros/master">\n
   <tal:block metal:fill-slot="main">\n
     <div class="content login">\n
diff --git a/bt5/erp5_mobile/bt/change_log b/bt5/erp5_mobile/bt/change_log
index e69de29bb2..da3b1b9b26 100644
--- a/bt5/erp5_mobile/bt/change_log
+++ b/bt5/erp5_mobile/bt/change_log
@@ -0,0 +1,2 @@
+2007-09-04 Kazuhiko
+* use absolute_url_path instead of getPortalPath for better virtual host support.
\ No newline at end of file
diff --git a/bt5/erp5_mobile/bt/revision b/bt5/erp5_mobile/bt/revision
index 8e2afd3427..dec2bf5d61 100644
--- a/bt5/erp5_mobile/bt/revision
+++ b/bt5/erp5_mobile/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testAddObject.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testAddObject.xml
index 1337245989..d62aec196f 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testAddObject.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testAddObject.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -54,6 +51,7 @@
             <key> <string>_text</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
+\n
 <html xmlns:tal="http://xml.zope.org/namespaces/tal"\n
       xmlns:metal="http://xml.zope.org/namespaces/metal">\n
 <head>\n
@@ -82,7 +80,7 @@
 have id "2". This is probably a bit too stupid. -->\n
 <tr>\n
   <td>assertLocation</td>\n
-  <td tal:content="string:${here/portal_url/getPortalPath}/foo_module/2/view"/>\n
+  <td tal:content="string:${here/portal_url/absolute_url_path}/foo_module/2/view"/>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -103,7 +101,7 @@ have id "2". This is probably a bit too stupid. -->\n
 </tr>\n
 <tr>\n
   <td>assertLocation</td>\n
-  <td tal:content="string:${here/portal_url/getPortalPath}/foo_module/2/1/view"/>\n
+  <td tal:content="string:${here/portal_url/absolute_url_path}/foo_module/2/1/view"/>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -131,7 +129,7 @@ have id "2". This is probably a bit too stupid. -->\n
 </tr>\n
 <tr>\n
   <td>assertLocation</td>\n
-  <td tal:content="string:${here/portal_url/getPortalPath}/foo_module/3/view"/>\n
+  <td tal:content="string:${here/portal_url/absolute_url_path}/foo_module/3/view"/>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -153,7 +151,7 @@ another object of the same type. -->\n
 </tr>\n
 <tr>\n
   <td>assertLocation</td>\n
-  <td tal:content="string:${here/portal_url/getPortalPath}/foo_module/4/view"/>\n
+  <td tal:content="string:${here/portal_url/absolute_url_path}/foo_module/4/view"/>\n
   <td></td>\n
 </tr>\n
 <tr>\n
@@ -168,8 +166,7 @@ another object of the same type. -->\n
 </tr>\n
 \n
 </body>\n
-</html>\n
-
+</html>
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testDropDownListActionsNothingSelected.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testDropDownListActionsNothingSelected.xml
index 6d5f90c6a6..625ea902fb 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testDropDownListActionsNothingSelected.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/page_templates_zuite/testDropDownListActionsNothingSelected.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -93,7 +90,7 @@ shouldn\'t do anything. -->\n
   </tr>\n
   <tr>\n
     <td>assertLocation</td>\n
-    <td tal:content="string: ${here/portal_url/getPortalPath}/foo_module/1/view">/erp5/foo_module/1/view</td>\n
+    <td tal:content="string: ${here/portal_url/absolute_url_path}/foo_module/1/view">/erp5/foo_module/1/view</td>\n
     <td/>\n
   </tr>\n
   <tr>\n
diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/relation_field_zuite/testSimpleRelationFieldSaveButton.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/relation_field_zuite/testSimpleRelationFieldSaveButton.xml
index 474ee4dc57..96d6a98a10 100644
--- a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/relation_field_zuite/testSimpleRelationFieldSaveButton.xml
+++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/relation_field_zuite/testSimpleRelationFieldSaveButton.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -134,7 +131,7 @@ button</td></tr>\n
 </tr>\n
 <tr>\n
   <td>assertLocation</td>\n
-  <td tal:content="string: ${here/portal_url/getPortalPath}/portal_categories/foo_category/a/a1/view"/>\n
+  <td tal:content="string: ${here/portal_url/absolute_url_path}/portal_categories/foo_category/a/a1/view"/>\n
   <td/>\n
 </tr>\n
 </tbody></table>\n
diff --git a/bt5/erp5_ui_test/bt/change_log b/bt5/erp5_ui_test/bt/change_log
index 8048a0e543..94f4c78176 100644
--- a/bt5/erp5_ui_test/bt/change_log
+++ b/bt5/erp5_ui_test/bt/change_log
@@ -1,3 +1,6 @@
+2007-09-04 Kazuhiko
+* use absolute_url_path instead of getPortalPath for better virtual host support.
+
 2007-02-13 yo
 * Add datetime_field_zuite.
 
diff --git a/bt5/erp5_ui_test/bt/revision b/bt5/erp5_ui_test/bt/revision
index ae4ee13c08..05cf25896d 100644
--- a/bt5/erp5_ui_test/bt/revision
+++ b/bt5/erp5_ui_test/bt/revision
@@ -1 +1 @@
-200
\ No newline at end of file
+201
\ No newline at end of file
diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_fckeditor/erp5_editor.css.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_fckeditor/erp5_editor.css.xml
index 9159b8b34d..cab3407412 100644
--- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_fckeditor/erp5_editor.css.xml
+++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_fckeditor/erp5_editor.css.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>OFS.DTMLDocument</string>
-          <string>DTMLDocument</string>
-        </tuple>
-        <none/>
+        <global name="DTMLDocument" module="OFS.DTMLDocument"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -712,19 +709,19 @@ fieldset.bottom .field .input {\n
 }\n
 \n
 #favourites button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/favourite.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/favourite.png\');\n
 }\n
 \n
 #modules button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/appearance.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/appearance.png\');\n
 }\n
 \n
 #language button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/language.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/language.png\');\n
 }\n
 \n
 #search button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/info.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/info.png\');\n
 }\n
 \n
 #status,\n
@@ -767,11 +764,11 @@ fieldset.bottom .field .input {\n
 }\n
 \n
 #main_bar .separator {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/sepafon.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/sepafon.png\');\n
 }\n
 \n
 #context_bar .separator {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/sepacla.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/sepacla.png\');\n
 }\n
 \n
 #context_bar .tool_buttons a .image,\n
@@ -785,99 +782,99 @@ fieldset.bottom .field .input {\n
 }\n
 \n
 #context_bar #jump button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/jump.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/jump.png\');\n
 }\n
 \n
 #context_bar #action button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/exec16.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/exec16.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .list_mode .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/text_block.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/text_block.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .new .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/filenew.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/filenew.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_first .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/2leftarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/2leftarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_previous .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/1leftarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/1leftarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_next .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/1rightarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/1rightarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_last .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/2rightarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/2rightarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .import_export .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/imp-exp.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/imp-exp.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_help .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/userhelp.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/userhelp.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .find .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/find.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/find.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .print .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/print.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/print.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .report .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/report.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/report.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .cut .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/editcut.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/editcut.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .copy .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/editcopy.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/editcopy.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .paste .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/editpaste.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/editpaste.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .delete .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/edittrash.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/edittrash.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .show_all .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/showall.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/showall.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .filter .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/filter.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/filter.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .filter_on .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/filter_on.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/filter_on.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .sort .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/sort.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/sort.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .configure .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/configure.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/configure.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .activity_pending .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/activity_busy.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/activity_busy.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .inspect_object .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/inspect.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/inspect.png\');\n
 }\n
 \n
 /* Status */\n
@@ -929,7 +926,7 @@ fieldset.bottom .field .input {\n
 }\n
 \n
 .dialog_selector button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/exec16.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/exec16.png\');\n
 }\n
 \n
 .document .actions {\n
@@ -951,7 +948,7 @@ fieldset.bottom .field .input {\n
 .document .actions button.save span.image {\n
   width: 34px;\n
   height: 34px;\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/save2.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/save2.png\');\n
 }\n
 \n
 .document .actions ul {\n
@@ -966,7 +963,7 @@ fieldset.bottom .field .input {\n
 .document .actions li {\n
   float: left;\n
   color: inherit;\n
-  background: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/tab_left.png\') top left no-repeat;\n
+  background: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/tab_left.png\') top left no-repeat;\n
   margin: 0;\n
   padding: 0 0 0 10px;\n
 }\n
@@ -976,7 +973,7 @@ fieldset.bottom .field .input {\n
   padding: 5px 15px 4px 5px;\n
   color: inherit;\n
   background-color: inherit;\n
-  background: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/tab_right.png\') top right no-repeat;\n
+  background: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/tab_right.png\') top right no-repeat;\n
 /*   font-size: 90%; */\n
 }\n
 \n
@@ -1006,7 +1003,7 @@ fieldset.bottom .field .input {\n
   - hardcoded images in html which are inly used for rendering style\n
   */\n
 .ListSummary {\n
-  background: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/tab_left.png\') top left no-repeat;\n
+  background: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/tab_left.png\') top left no-repeat;\n
   color: #000;\n
   background-color: <dtml-var document_background_color>;\n
   padding-left: 10px;\n
diff --git a/bt5/erp5_web/bt/change_log b/bt5/erp5_web/bt/change_log
index a96ce170b1..7ba2666549 100644
--- a/bt5/erp5_web/bt/change_log
+++ b/bt5/erp5_web/bt/change_log
@@ -1,3 +1,6 @@
+2007-09-04 Kazuhiko
+* use absolute_url_path instead of getPortalPath for better virtual host support.
+
 2007-01-19 JPS
 * Global commit of refactored bt. More refactoring needed still
 
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index 8f7277e735..7bfdb2b502 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-571
\ No newline at end of file
+573
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/erp5.css.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/erp5.css.xml
index bccff31679..5d34b11ac3 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/erp5.css.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/erp5.css.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>OFS.DTMLDocument</string>
-          <string>DTMLDocument</string>
-        </tuple>
-        <none/>
+        <global name="DTMLDocument" module="OFS.DTMLDocument"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -722,19 +719,19 @@ fieldset.bottom .field .input {\n
 }\n
 \n
 #favourites button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/favourite.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/favourite.png\');\n
 }\n
 \n
 #modules button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/appearance.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/appearance.png\');\n
 }\n
 \n
 #language button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/language.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/language.png\');\n
 }\n
 \n
 #search button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/info.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/info.png\');\n
 }\n
 \n
 #status,\n
@@ -777,11 +774,11 @@ fieldset.bottom .field .input {\n
 }\n
 \n
 #main_bar .separator {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/sepafon.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/sepafon.png\');\n
 }\n
 \n
 #context_bar .separator {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/sepacla.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/sepacla.png\');\n
 }\n
 \n
 #context_bar .tool_buttons a .image,\n
@@ -795,99 +792,99 @@ fieldset.bottom .field .input {\n
 }\n
 \n
 #context_bar #jump button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/jump.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/jump.png\');\n
 }\n
 \n
 #context_bar #action button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/exec16.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/exec16.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .list_mode .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/text_block.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/text_block.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .new .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/filenew.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/filenew.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_first .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/2leftarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/2leftarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_previous .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/1leftarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/1leftarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_next .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/1rightarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/1rightarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_last .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/2rightarrowb.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/2rightarrowb.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .import_export .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/imp-exp.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/imp-exp.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .jump_help .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/userhelp.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/userhelp.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .find .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/find.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/find.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .print .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/print.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/print.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .report .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/report.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/report.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .cut .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/editcut.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/editcut.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .copy .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/editcopy.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/editcopy.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .paste .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/editpaste.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/editpaste.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .delete .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/edittrash.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/edittrash.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .show_all .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/showall.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/showall.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .filter .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/filter.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/filter.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .filter_on .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/filter_on.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/filter_on.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .sort .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/sort.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/sort.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .configure .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/configure.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/configure.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .activity_pending .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/activity_busy.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/activity_busy.png\');\n
 }\n
 \n
 #context_bar .tool_buttons .inspect_object .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/inspect.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/inspect.png\');\n
 }\n
 \n
 /* Status */\n
@@ -939,7 +936,7 @@ fieldset.bottom .field .input {\n
 }\n
 \n
 .dialog_selector button .image {\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/exec16.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/exec16.png\');\n
 }\n
 \n
 .document .actions {\n
@@ -961,7 +958,7 @@ fieldset.bottom .field .input {\n
 .document .actions button.save span.image {\n
   width: 34px;\n
   height: 34px;\n
-  background-image: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/save2.png\');\n
+  background-image: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/save2.png\');\n
 }\n
 \n
 .document .actions ul {\n
@@ -976,7 +973,7 @@ fieldset.bottom .field .input {\n
 .document .actions li {\n
   float: left;\n
   color: inherit;\n
-  background: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/tab_left.png\') top left no-repeat;\n
+  background: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/tab_left.png\') top left no-repeat;\n
   margin: 0;\n
   padding: 0 0 0 10px;\n
 }\n
@@ -986,7 +983,7 @@ fieldset.bottom .field .input {\n
   padding: 5px 15px 4px 5px;\n
   color: inherit;\n
   background-color: inherit;\n
-  background: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/tab_right.png\') top right no-repeat;\n
+  background: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/tab_right.png\') top right no-repeat;\n
 /*   font-size: 90%; */\n
 }\n
 \n
@@ -1016,7 +1013,7 @@ fieldset.bottom .field .input {\n
   - hardcoded images in html which are inly used for rendering style\n
   */\n
 .ListSummary {\n
-  background: url(\'<dtml-var expr="portal_url.getPortalPath()">/images/tab_left.png\') top left no-repeat;\n
+  background: url(\'<dtml-var expr="portal_url.absolute_url_path()">/images/tab_left.png\') top left no-repeat;\n
   color: #000;\n
   background-color: <dtml-var document_background_color>;\n
   padding-left: 10px;\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
index 599db49b07..f5fa3ed382 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -57,7 +54,7 @@
 <tal:block metal:define-macro="header_definitions">\n
   <tal:block tal:define="\n
     global portal              here/portal_url/getPortalObject;\n
-    global portal_path         portal/portal_url/getPortalPath;\n
+    global portal_path         portal/absolute_url_path;\n
            local_parameter_list  local_parameter_list | python: {};\n
 \n
     global actions          python: here.Base_filterDuplicateActions(portal.portal_actions.listFilteredActionsFor(here));\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.xml
index 51cdbf3b03..7aecbc74f5 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.xml
@@ -3,11 +3,8 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <tuple>
-          <string>Products.PageTemplates.ZopePageTemplate</string>
-          <string>ZopePageTemplate</string>
-        </tuple>
-        <none/>
+        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+        <tuple/>
       </tuple>
     </pickle>
     <pickle>
@@ -86,7 +83,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
 </tal:block>\n
 <tal:block tal:define="form_action string:logged_in;\n
                        global form_id string:login_form;\n
-                       js_list python: [\'%s/login_form.js\' % (here.portal_url.getPortalPath(), )]">\n
+                       js_list python: [\'%s/login_form.js\' % (here.portal_url.absolute_url_path(), )]">\n
 <tal:block metal:use-macro="here/main_template/macros/master">\n
   <tal:block metal:fill-slot="main">\n
     <div class="content login">\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log b/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log
index 9df57319f4..effa719768 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log
@@ -1,3 +1,6 @@
+2007-09-04 Kazuhiko
+* use absolute_url_path instead of getPortalPath for better virtual host support.
+
 2007-08-29 Yusei
 * Add module_view action in context box.
 
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index bc56e7649a..66e214a2e8 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-431
\ No newline at end of file
+432
\ No newline at end of file
-- 
2.30.9