Hi Jacques, 

ecommerce is broken, I think you missed some groovy file where description, 
name is used directly. like      

categoryDescription = categoryContentWrapper.DESCRIPTION;

I am getting following error while accession ecommerce on updated local box:
{code}
[java] Caused by: java.lang.IllegalArgumentException: Error running script at 
location 
[component://order/webapp/ordermgr/WEB-INF/actions/entry/catalog/Category.groovy]:
 groovy.lang.MissingPropertyException: No such property: DESCRIPTION for class: 
org.ofbiz.product.category.CategoryContentWrapper

{code}


Thanks & Regards
—
Deepak Dixit

> On Sep 25, 2015, at 10:14 PM, Jacques Le Roux <[email protected]> 
> wrote:
> 
> I did not backport to older releases because of too much conflicts, anyway 
> it's a low vulnerability
> 
> Jacqued
> 
> 
> Le 25/09/2015 18:34, [email protected] a écrit :
>> Author: jleroux
>> Date: Fri Sep 25 16:34:34 2015
>> New Revision: 1705331
>> 
>> URL: http://svn.apache.org/viewvc?rev=1705331&view=rev
>> Log:
>> "Applied fix from trunk for revision: 1705329  " (conflicts handled by hand)
>> ------------------------------------------------------------------------
>> r1705329 | jleroux | 2015-09-25 18:27:12 +0200 (ven. 25 sept. 2015) | 20 
>> lignes
>> 
>> I found a possible XSS attack through 
>> ProductContentWrapper.java.getProductContentAsText() which is notably used 
>> in several FTL files. This exists also in others *ContentWrapper.java.
>> Note that in supported releases it's hard to exploit, it's a Stored XSS 
>> https://www.owasp.org/index.php/Types_of_Cross-Site_Scripting which means 
>> you need 1st to somehow inject exploiting code in the DB.
>> 
>> This fixes it by changing the ContentWrapper interface
>> from
>>     public interface ContentWrapper {
>>         public StringUtil.StringWrapper get(String contentTypeId);
>>     }
>> to
>>     public interface ContentWrapper {
>>         public StringUtil.StringWrapper get(String contentTypeId, String 
>> encoderType) {
>>     }
>> 
>> And changing the Category, Party, Product, ProductPromo and WorkEffort 
>> ContentWrapperS accordingly. This means to use 2 types of encoderTypes: 
>> "html" and "url".
>> The "html"  encoderType will be used for all ProductContentTypes but those 
>> who contain URL in their ContentTypeIdS (actually end with, "_URL") which 
>> will use "url" encoderType.
>> It concerns not only the get() method but also methods like 
>> getPartyContentAsText(), getProductContentAsText(), etc.
>> 
>> It seems a big change but it's straightforward. It's normally complete.
>> 
>> There are some (unrelated) tabs replaced by spaces here and there, and few 
>> trailing spaces removed but nothing big
>> ------------------------------------------------------------------------
>> 
>> 
>> Modified:
>>     ofbiz/branches/release14.12/   (props changed)
>>     
>> ofbiz/branches/release14.12/applications/accounting/webapp/accounting/reports/SalesInvoiceByProductCategorySummary.ftl
>>     
>> ofbiz/branches/release14.12/applications/content/src/org/ofbiz/content/content/ContentWrapper.java
>>     
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java
>>     
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
>>     
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/InlineProductDetail.groovy
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/order/CompanyHeader.groovy
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/SplitShip.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/breadcrumbs.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/categorydetail.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproducts.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproductslist.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/configproductdetail.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/inlineProductDetail.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productsummary.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/quickaddsummary.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/editorderitems.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderinfo.ftl
>>     
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderitems.ftl
>>     
>> ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/editShoppingList.ftl
>>     
>> ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/profileblocks/SerializedInventory.ftl
>>     
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/category/CatalogUrlFilter.java
>>     
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductContentWrapper.java
>>     
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductPromoContentWrapper.java
>>     
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductSearch.java
>>     
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductWorker.java
>>     
>> ofbiz/branches/release14.12/applications/product/webapp/catalog/WEB-INF/actions/category/EditCategoryContentContent.groovy
>>     
>> ofbiz/branches/release14.12/applications/product/webapp/catalog/product/AddAdditionalImages.ftl
>>     
>> ofbiz/branches/release14.12/applications/product/widget/catalog/ProductForms.xml
>>     
>> ofbiz/branches/release14.12/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java
>>     
>> ofbiz/branches/release14.12/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/UpdateCart.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/showcart.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/LayeredCategoryDetail.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/ProductCategoryLink.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/configproductdetail.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/miniproductsummary.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/productdetail.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/customer/SerializedInventorySummary.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/customer/SubscriptionSummary.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/order/splitship.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/shoppinglist/editShoppingList.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/webpos/webapp/webpos/cart/ShowCart.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/webpos/webapp/webpos/cart/ShowCartItemSelected.ftl
>>     
>> ofbiz/branches/release14.12/specialpurpose/webpos/webapp/webpos/catalog/CategoryDetail.ftl
>> 
>> Propchange: ofbiz/branches/release14.12/
>> ------------------------------------------------------------------------------
>> --- svn:mergeinfo (original)
>> +++ svn:mergeinfo Fri Sep 25 16:34:34 2015
>> @@ -8,4 +8,4 @@
>>  /ofbiz/branches/json-integration-refactoring:1634077-1635900
>>  /ofbiz/branches/multitenant20100310:921280-927264
>>  /ofbiz/branches/release13.07:1547657
>> -/ofbiz/trunk:1649072,1649083-1649084,1649086,1649090,1649096,1649230,1649238-1649239,1649248,1649272,1649275,1649280-1649281,1649283,1649285-1649286,1649291,1649329,1649331,1649384,1649393,1649666,1649742,1650240,1650348,1650357,1650583,1650642,1650678,1650821,1650882,1650887,1650938,1651593,1652312,1652361,1652638,1652641,1652672,1652688,1652706,1652725,1652731,1652739,1652852,1653248,1653296,1653456,1653597,1653614,1654175,1654273,1654509,1654670,1654672-1654673,1654683-1654684,1654824,1655046,1655668,1655979,1656014,1656185,1656198,1656445,1656983,1657323,1657506-1657507,1657514,1657714,1657790,1657848,1658364,1658662,1658882,1659224,1659965,1660031,1660053,1660389,1660444,1660579,1661303,1661328,1661760,1661778,1661853,1661862,1661873,1661940,1661951,1661977,1662119-1662120,1662361,1662500,1662812,1662919,1663202,1663912,1663979,1664602,1664604,1664696,1665154,1665162,1665535,1666404,1666511,1666633,1666836,1666939,1666949,1666958,1667055,1667253,1667483,1667492,1667774!
>>  ,1668207,
>>  
>> 1668214,1668236,1668246,1668258,1668263,1668265,1668270,1668277,1668314,1668657,1669317,1669588,1672427,1672430,1672846,1672853,1672856,1672862,1672873,1673764,1674447,1674464,1674491,1674496,1674908,1676674,1677123,1677597,1677769-1677770,1678294,1678882,1678911,1679689,1679697,1679709,1679720,1679728,1679732,1679957,1680155,1680288,1680304,1680671,1680675,1680733,1680840,1680881,1682272,1682295,1682415,1682633,1683998,1684094,1686360,1686536,1686545,1686566,1686569,1686574,1686583,1686635,1686651,1686970,1687427,1688772,1690086,1690581,1692357,1692458,1692600,1692604,1693393,1693579,1695017,1696234,1697590,1697647,1697993,1698259,1698261,1698263,1701164,1701441,1701819,1701825,1701936,1702002,1702548,1702704,1703121,1703586,1703945,1703954,1703965,1703971,1703976-1703977,1703981,1704000,1704014,1704018,1704036,1704043,1704052,1704082,1704140,1704230,1705004
>> +/ofbiz/trunk:1649072,1649083-1649084,1649086,1649090,1649096,1649230,1649238-1649239,1649248,1649272,1649275,1649280-1649281,1649283,1649285-1649286,1649291,1649329,1649331,1649384,1649393,1649666,1649742,1650240,1650348,1650357,1650583,1650642,1650678,1650821,1650882,1650887,1650938,1651593,1652312,1652361,1652638,1652641,1652672,1652688,1652706,1652725,1652731,1652739,1652852,1653248,1653296,1653456,1653597,1653614,1654175,1654273,1654509,1654670,1654672-1654673,1654683-1654684,1654824,1655046,1655668,1655979,1656014,1656185,1656198,1656445,1656983,1657323,1657506-1657507,1657514,1657714,1657790,1657848,1658364,1658662,1658882,1659224,1659965,1660031,1660053,1660389,1660444,1660579,1661303,1661328,1661760,1661778,1661853,1661862,1661873,1661940,1661951,1661977,1662119-1662120,1662361,1662500,1662812,1662919,1663202,1663912,1663979,1664602,1664604,1664696,1665154,1665162,1665535,1666404,1666511,1666633,1666836,1666939,1666949,1666958,1667055,1667253,1667483,1667492,1667774!
>>  ,1668207,
>>  
>> 1668214,1668236,1668246,1668258,1668263,1668265,1668270,1668277,1668314,1668657,1669317,1669588,1672427,1672430,1672846,1672853,1672856,1672862,1672873,1673764,1674447,1674464,1674491,1674496,1674908,1676674,1677123,1677597,1677769-1677770,1678294,1678882,1678911,1679689,1679697,1679709,1679720,1679728,1679732,1679957,1680155,1680288,1680304,1680671,1680675,1680733,1680840,1680881,1682272,1682295,1682415,1682633,1683998,1684094,1686360,1686536,1686545,1686566,1686569,1686574,1686583,1686635,1686651,1686970,1687427,1688772,1690086,1690581,1692357,1692458,1692600,1692604,1693393,1693579,1695017,1696234,1697590,1697647,1697993,1698259,1698261,1698263,1701164,1701441,1701819,1701825,1701936,1702002,1702548,1702704,1703121,1703586,1703945,1703954,1703965,1703971,1703976-1703977,1703981,1704000,1704014,1704018,1704036,1704043,1704052,1704082,1704140,1704230,1705004,1705329
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/accounting/webapp/accounting/reports/SalesInvoiceByProductCategorySummary.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/accounting/webapp/accounting/reports/SalesInvoiceByProductCategorySummary.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/accounting/webapp/accounting/reports/SalesInvoiceByProductCategorySummary.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/accounting/webapp/accounting/reports/SalesInvoiceByProductCategorySummary.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -27,7 +27,7 @@ under the License.
>>    <ul>
>>      <li>Month: ${month}/${year}</li>
>> -    <li>Root Category: 
>> ${(Static["org.ofbiz.product.category.CategoryContentWrapper"].getProductCategoryContentAsText(rootProductCategory,
>>  "CATEGORY_NAME", locale, dispatcher))!} [${rootProductCategoryId}]</li>
>> +    <li>Root Category: 
>> ${(Static["org.ofbiz.product.category.CategoryContentWrapper"].getProductCategoryContentAsText(rootProductCategory,
>>  "CATEGORY_NAME", locale, dispatcher, "html"))!} 
>> [${rootProductCategoryId}]</li>
>>      <li>Organization: ${(organizationPartyName.groupName)!} 
>> [${organizationPartyId?default("No Organization Specified")}]</li>
>>      <li>Currency: ${(currencyUom.description)!} 
>> [${currencyUomId?default("No Currency Specified")}]</li>
>>  </ul>
>> @@ -38,10 +38,10 @@ under the License.
>>          <td>Day</td>
>>          <td>[No Product]</td>
>>      <#list productList as product>
>> -        
>> <td>${product.internalName?default((Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "PRODUCT_NAME", locale, dispatcher))!)}<br />P:[${product.productId}]</td>
>> +        
>> <td>${product.internalName?default((Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "PRODUCT_NAME", locale, dispatcher, "html"))!)}<br 
>> />P:[${product.productId}]</td>
>>      </#list>
>>      <#list productCategoryList as productCategory>
>> -        
>> <td>${(Static["org.ofbiz.product.category.CategoryContentWrapper"].getProductCategoryContentAsText(productCategory,
>>  "CATEGORY_NAME", locale, dispatcher))!}<br 
>> />C:[${productCategory.productCategoryId}]</td>
>> +        
>> <td>${(Static["org.ofbiz.product.category.CategoryContentWrapper"].getProductCategoryContentAsText(productCategory,
>>  "CATEGORY_NAME", locale, dispatcher, "html"))!}<br 
>> />C:[${productCategory.productCategoryId}]</td>
>>      </#list>
>>      </tr>
>>      <#-- Days of the month -->
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/content/src/org/ofbiz/content/content/ContentWrapper.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/content/src/org/ofbiz/content/content/ContentWrapper.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/content/src/org/ofbiz/content/content/ContentWrapper.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/content/src/org/ofbiz/content/content/ContentWrapper.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -26,6 +26,6 @@ import org.ofbiz.base.util.StringUtil;
>>    public interface ContentWrapper {
>>  -    public StringUtil.StringWrapper get(String contentTypeId);
>> +    public StringUtil.StringWrapper get(String contentTypeId, String 
>> encoderType);
>>    }
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -1845,7 +1845,7 @@ public class OrderReturnServices {
>>                                      newItem.set("itemDescription", 
>> orderItem.get("itemDescription"));
>>                                  } else {
>>                                      newItem.set("productId", 
>> refurbItem.get("productId"));
>> -                                    newItem.set("itemDescription", 
>> ProductContentWrapper.getProductContentAsText(refurbItem, "PRODUCT_NAME", 
>> locale, null));
>> +                                    newItem.set("itemDescription", 
>> ProductContentWrapper.getProductContentAsText(refurbItem, "PRODUCT_NAME", 
>> locale, null, "html"));
>>                                  }
>>                                  newItem.set("orderItemTypeId", 
>> orderItem.get("orderItemTypeId"));
>>                                  newItem.set("productFeatureId", 
>> orderItem.get("productFeatureId"));
>> @@ -1960,7 +1960,7 @@ public class OrderReturnServices {
>>                                                  newItem.set("productId", 
>> repairItemProduct.get("productId"));
>>                                                  // TODO: orderItemTypeId, 
>> prodCatalogId, productCategoryId
>>                                                  newItem.set("quantity", 
>> repairQuantity);
>> -                                                
>> newItem.set("itemDescription", 
>> ProductContentWrapper.getProductContentAsText(repairItemProduct, 
>> "PRODUCT_NAME", locale, null));
>> +                                                
>> newItem.set("itemDescription", 
>> ProductContentWrapper.getProductContentAsText(repairItemProduct, 
>> "PRODUCT_NAME", locale, null, "html"));
>>                                                  newItem.set("statusId", 
>> "ITEM_CREATED");
>>                                                  orderItems.add(newItem);
>>                                                  additionalItemTotal = 
>> additionalItemTotal.add(repairQuantity.multiply(repairUnitPrice));
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -717,12 +717,12 @@ public class ShoppingCartItem implements
>>      protected ShoppingCartItem(GenericValue product, Map<String, 
>> GenericValue> additionalProductFeatureAndAppls, Map<String, Object> 
>> attributes, String prodCatalogId, Locale locale, String itemType, 
>> ShoppingCart.ShoppingCartItemGroup itemGroup) {
>>          this(product, additionalProductFeatureAndAppls, attributes, 
>> prodCatalogId, null, locale, itemType, itemGroup, null);
>>           if (product != null) {
>> -            String productName = 
>> ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", 
>> this.locale, null);
>> +            String productName = 
>> ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", 
>> this.locale, null, "html");
>>              // if the productName is null or empty, see if there is an 
>> associated virtual product and get the productName of that product
>>              if (UtilValidate.isEmpty(productName)) {
>>                  GenericValue parentProduct = this.getParentProduct();
>>                  if (parentProduct != null) {
>> -                    productName = 
>> ProductContentWrapper.getProductContentAsText(parentProduct, "PRODUCT_NAME", 
>> this.locale, null);
>> +                    productName = 
>> ProductContentWrapper.getProductContentAsText(parentProduct, "PRODUCT_NAME", 
>> this.locale, null, "html");
>>                  }
>>              }
>>  @@ -1756,12 +1756,12 @@ public class ShoppingCartItem implements
>>         } else {
>>          GenericValue product = getProduct();
>>          if (product != null) {
>> -            String productName = 
>> ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", 
>> this.locale, null);
>> +            String productName = 
>> ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", 
>> this.locale, null, "html");
>>              // if the productName is null or empty, see if there is an 
>> associated virtual product and get the productName of that product
>>              if (UtilValidate.isEmpty(productName)) {
>>                  GenericValue parentProduct = this.getParentProduct();
>>                  if (parentProduct != null) {
>> -                    productName = 
>> ProductContentWrapper.getProductContentAsText(parentProduct, "PRODUCT_NAME", 
>> this.locale, null);
>> +                    productName = 
>> ProductContentWrapper.getProductContentAsText(parentProduct, "PRODUCT_NAME", 
>> this.locale, null, "html");
>>                  }
>>              }
>>              if (productName == null) {
>> @@ -1780,13 +1780,13 @@ public class ShoppingCartItem implements
>>          GenericValue product = getProduct();
>>            if (product != null) {
>> -            String description = 
>> ProductContentWrapper.getProductContentAsText(product, "DESCRIPTION", 
>> this.locale, null);
>> +            String description = 
>> ProductContentWrapper.getProductContentAsText(product, "DESCRIPTION", 
>> this.locale, null, "html");
>>                // if the description is null or empty, see if there is an 
>> associated virtual product and get the description of that product
>>              if (UtilValidate.isEmpty(description)) {
>>                  GenericValue parentProduct = this.getParentProduct();
>>                  if (parentProduct != null) {
>> -                    description = 
>> ProductContentWrapper.getProductContentAsText(parentProduct, "DESCRIPTION", 
>> this.locale, null);
>> +                    description = 
>> ProductContentWrapper.getProductContentAsText(parentProduct, "DESCRIPTION", 
>> this.locale, null, "html");
>>                  }
>>              }
>>  @@ -2590,7 +2590,7 @@ public class ShoppingCartItem implements
>>          }
>>            if (UtilValidate.isEmpty(itemDescription)) {
>> -            itemDescription = 
>> ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", 
>> locale, null);
>> +            itemDescription = 
>> ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", 
>> locale, null, "html");
>>          }
>>            return itemDescription;
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -712,7 +712,7 @@ public class ProductPromoWorker {
>>                  if (UtilValidate.isEmpty(messageContext.get("partyId"))) 
>> messageContext.put("partyId", "any");
>>                  GenericValue product = 
>> EntityQuery.use(delegator).from("Product").where("productId", 
>> productId).cache().queryOne();
>>                  if (product != null) {
>> -                    messageContext.put("productName", 
>> ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", 
>> locale, null));
>> +                    messageContext.put("productName", 
>> ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", 
>> locale, null, "html"));
>>                  }
>>                    String msgProp = UtilProperties.getMessage("promotext", 
>> "action." + productPromoAction.getString("productPromoActionEnumId"), 
>> messageContext, locale);
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/InlineProductDetail.groovy
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/InlineProductDetail.groovy?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/InlineProductDetail.groovy
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/InlineProductDetail.groovy
>>  Fri Sep 25 16:34:34 2015
>> @@ -51,8 +51,8 @@ if (inlineProductId) {
>>      if (inlineProduct) {
>>          context.product = inlineProduct;
>>          contentWrapper = new ProductContentWrapper(inlineProduct, request);
>> -        context.put("title", contentWrapper.get("PRODUCT_NAME"));
>> -        context.put("metaDescription", contentWrapper.get("DESCRIPTION"));
>> +        context.put("title", contentWrapper.get("PRODUCT_NAME", "html"));
>> +        context.put("metaDescription", contentWrapper.get("DESCRIPTION", 
>> "html"));
>>          productTemplate = product.detailScreen;
>>          if (productTemplate) {
>>              detailScreen = productTemplate;
>> @@ -115,7 +115,7 @@ if (inlineProduct) {
>>      context.productContentWrapper = productContentWrapper;
>>        // get the main detail image (virtual or single product)
>> -    mainDetailImage = productContentWrapper.get("DETAIL_IMAGE_URL");
>> +    mainDetailImage = productContentWrapper.get("DETAIL_IMAGE_URL", "url");
>>      if (mainDetailImage) {
>>          mainDetailImageUrl = ContentUrlTag.getContentPrefix(request) + 
>> mainDetailImage;
>>          context.mainDetailImageUrl = mainDetailImageUrl.toString();
>> @@ -225,8 +225,8 @@ if (inlineProduct) {
>>                              contentWrapper = new 
>> ProductContentWrapper(imageMap[key], request);
>>                                // initial image paths
>> -                            detailImage = 
>> contentWrapper.get("DETAIL_IMAGE_URL") ?: 
>> productContentWrapper.get("DETAIL_IMAGE_URL");
>> -                            largeImage = 
>> contentWrapper.get("LARGE_IMAGE_URL") ?: 
>> productContentWrapper.get("LARGE_IMAGE_URL");
>> +                            detailImage = 
>> contentWrapper.get("DETAIL_IMAGE_URL", "url") ?: 
>> productContentWrapper.get("DETAIL_IMAGE_URL", "url");
>> +                            largeImage = 
>> contentWrapper.get("LARGE_IMAGE_URL", "url") ?: 
>> productContentWrapper.get("LARGE_IMAGE_URL", "url");
>>                                // full image URLs
>>                              detailImageUrl = null;
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/ProductDetail.groovy
>>  Fri Sep 25 16:34:34 2015
>> @@ -121,7 +121,7 @@ if (product) {
>>      context.productContentWrapper = productContentWrapper;
>>        // get the main detail image (virtual or single product)
>> -    mainDetailImage = productContentWrapper.get("DETAIL_IMAGE_URL");
>> +    mainDetailImage = productContentWrapper.get("DETAIL_IMAGE_URL", "url");
>>      if (mainDetailImage) {
>>          mainDetailImageUrl = ContentUrlTag.getContentPrefix(request) + 
>> mainDetailImage;
>>          context.mainDetailImageUrl = mainDetailImageUrl.toString();
>> @@ -347,8 +347,8 @@ if (product) {
>>                              contentWrapper = new 
>> ProductContentWrapper(imageMap[key], request);
>>                                // initial image paths
>> -                            detailImage = 
>> contentWrapper.get("DETAIL_IMAGE_URL") ?: 
>> productContentWrapper.get("DETAIL_IMAGE_URL");
>> -                            largeImage = 
>> contentWrapper.get("LARGE_IMAGE_URL") ?: 
>> productContentWrapper.get("LARGE_IMAGE_URL");
>> +                            detailImage = 
>> contentWrapper.get("DETAIL_IMAGE_URL", "url") ?: 
>> productContentWrapper.get("DETAIL_IMAGE_URL", "url");
>> +                            largeImage = 
>> contentWrapper.get("LARGE_IMAGE_URL", "url") ?: 
>> productContentWrapper.get("LARGE_IMAGE_URL", "url");
>>                                // full image URLs
>>                              detailImageUrl = null;
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/order/CompanyHeader.groovy
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/order/CompanyHeader.groovy?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/order/CompanyHeader.groovy
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/WEB-INF/actions/order/CompanyHeader.groovy
>>  Fri Sep 25 16:34:34 2015
>> @@ -213,7 +213,7 @@ if (emails) {
>>    // website
>>  websiteUrls = from("PartyContactWithPurpose")
>> -                  .where("partyId", partyId, "contactMechPurposeTypeId", 
>> "PRIMARY_WEB_URL")
>> +                  .where("partyId", partyId, "contactMechPurposeTypeId", 
>> "PRIMARY_WEB_URL", "url")
>>                    .filterByDate("contactFromDate", "contactThruDate", 
>> "purposeFromDate", "purposeThruDate")
>>                    .queryList();
>>  if (websiteUrls) {
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/SplitShip.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/SplitShip.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/SplitShip.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/SplitShip.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -176,7 +176,7 @@ function submitForm(form, mode, value) {
>>                      <#if cartLine.getProductId()??>
>>                        <#-- product item -->
>>                        <#-- start code to display a small image of the 
>> product -->
>> -                      <#assign smallImageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(),
>>  "SMALL_IMAGE_URL", locale, dispatcher)!>
>> +                      <#assign smallImageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(),
>>  "SMALL_IMAGE_URL", locale, dispatcher, "url")!>
>>                        <#if !smallImageUrl?string?has_content><#assign 
>> smallImageUrl = "/images/defaultImage.jpg"></#if>
>>                        <#if smallImageUrl?string?has_content>
>>                          <a 
>> href="<@ofbizUrl>product?product_id=${cartLine.getProductId()}</@ofbizUrl>">
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/cart/showcartitems.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -238,7 +238,7 @@ under the License.
>>                    <div>${uiLabelMap.OrderChooseFollowingForGift}:</div>
>>                    <#list cartLine.getAlternativeOptionProductIds() as 
>> alternativeOptionProductId>
>>                      <#assign alternativeOptionProduct = 
>> delegator.findOne("Product", 
>> Static["org.ofbiz.base.util.UtilMisc"].toMap("productId", 
>> alternativeOptionProductId), true)>
>> -                    <#assign alternativeOptionName = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(alternativeOptionProduct,
>>  "PRODUCT_NAME", locale, dispatcher)!>
>> +                    <#assign alternativeOptionName = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(alternativeOptionProduct,
>>  "PRODUCT_NAME", locale, dispatcher, "html")!>
>>                      <div><a 
>> href="<@ofbizUrl>setDesiredAlternateGwpProductId?alternateGwpProductId=${alternativeOptionProductId}&amp;alternateGwpLine=${cartLineIndex}</@ofbizUrl>"
>>  class="buttontext">Select: 
>> ${alternativeOptionName?default(alternativeOptionProductId)}</a></div>
>>                    </#list>
>>                  </#if>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/breadcrumbs.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/breadcrumbs.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/breadcrumbs.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/breadcrumbs.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -17,7 +17,7 @@ specific language governing permissions
>>  under the License.
>>  -->
>>  <div class="breadcrumbs">
>> -<#assign isDefaultTheme = 
>> !layoutSettings.VT_FTR_TMPLT_LOC?contains("multiflex")>
>> +<#assign isDefaultTheme = 
>> !layoutSettings.VT_FTR_TMPLT_LOC?contains("multiflex")>
>>  <#if isDefaultTheme>
>>    <a href="<@ofbizUrl>main</@ofbizUrl>" 
>> class="linktext">${uiLabelMap.CommonMain}</a> &gt;
>>  <#else>
>> @@ -52,17 +52,17 @@ under the License.
>>                     ${crumb}
>>                   </#if>
>>                 </a>
>> -               <#if crumb_has_next> &gt;</#if>
>> +               <#if crumb_has_next> &gt;</#if>
>>              </#if>
>>              <#assign previousCategoryId = crumb />
>>           </#if>
>>      </#list>
>>      <#-- Show the product, if there is one -->
>>      <#if productContentWrapper??>
>> -      <#if isDefaultTheme>
>> -         &nbsp;&gt; ${productContentWrapper.get("PRODUCT_NAME")!}
>> +      <#if isDefaultTheme>
>> +         &nbsp;&gt; ${productContentWrapper.get("PRODUCT_NAME", "html")!}
>>        <#else>
>> -          <li>${productContentWrapper.get("PRODUCT_NAME")!}</li>
>> +          <li>${productContentWrapper.get("PRODUCT_NAME", "html")!}</li>
>>          </ul>
>>        </#if>
>>      </#if>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/categorydetail.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/categorydetail.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/categorydetail.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/categorydetail.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -91,7 +91,7 @@ under the License.
>>          <a 
>> href="<@ofbizUrl>advancedsearch?SEARCH_CATEGORY_ID=${productCategory.productCategoryId}</@ofbizUrl>"
>>  class="buttontext">${uiLabelMap.ProductSearchInCategory}</a>
>>      </#if>
>>      <#assign longDescription = 
>> categoryContentWrapper.get("LONG_DESCRIPTION")!/>
>> -    <#assign categoryImageUrl = 
>> categoryContentWrapper.get("CATEGORY_IMAGE_URL")!/>
>> +    <#assign categoryImageUrl = 
>> categoryContentWrapper.get("CATEGORY_IMAGE_URL", "url")!/>
>>      <#if categoryImageUrl?string?has_content || longDescription?has_content>
>>        <div>
>>          <#if categoryImageUrl?string?has_content>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproducts.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproducts.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproducts.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproducts.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -26,13 +26,13 @@ under the License.
>>      <#assign productContentWrapper = productData.productContentWrapper/>
>>      <#assign price = productData.priceMap/>
>>      <#assign productUrl><@ofbizCatalogAltUrl 
>> productId=product.productId/></#assign>
>> -    <#assign smallImageUrl = productContentWrapper.get("SMALL_IMAGE_URL")/>
>> +    <#assign smallImageUrl = productContentWrapper.get("SMALL_IMAGE_URL", 
>> "url")/>
>>      <#if smallImageUrl!?length == 0>
>>          <#assign smallImageUrl = "/images/defaultImage.jpg"/>
>>      </#if>
>>          <td style="width:${tdWidth?c}%;">
>>              <img 
>> src="<@ofbizContentUrl>${contentPathPrefix!}${smallImageUrl}</@ofbizContentUrl>"
>>  alt="Small Image"/><br />
>> -            ${productContentWrapper.get("PRODUCT_NAME")}<br />
>> +            ${productContentWrapper.get("PRODUCT_NAME", "html")}<br />
>>      <#if totalPrice??>
>>              <div>${uiLabelMap.ProductAggregatedPrice}: <span 
>> class='basePrice'><@ofbizCurrency amount=totalPrice 
>> isoCode=totalPrice.currencyUsed/></span></div>
>>      <#else>
>> @@ -101,7 +101,7 @@ under the License.
>>  <#list compareList as product>
>>      <#assign productData = productDataMap[product.productId]/>
>>      <#assign productContentWrapper = productData.productContentWrapper/>
>> -        
>> <td>${productContentWrapper.get("DESCRIPTION")?default("&nbsp;")}</td>
>> +        <td>${productContentWrapper.get("DESCRIPTION", 
>> "html")?default("&nbsp;")}</td>
>>  </#list>
>>      </tr>
>>      <#-- Long Description -->
>> @@ -110,7 +110,7 @@ under the License.
>>  <#list compareList as product>
>>      <#assign productData = productDataMap[product.productId]/>
>>      <#assign productContentWrapper = productData.productContentWrapper/>
>> -        
>> <td>${productContentWrapper.get("LONG_DESCRIPTION")?default("&nbsp;")}</td>
>> +        <td>${productContentWrapper.get("LONG_DESCRIPTION", 
>> "html")?default("&nbsp;")}</td>
>>  </#list>
>>      </tr>
>>  <#list productFeatureTypeIds as productFeatureTypeId>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproductslist.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproductslist.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproductslist.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/compareproductslist.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -30,7 +30,7 @@ under the License.
>>      <#list productCompareList as product>
>>        <tr>
>>          <td>
>> -          
>> ${Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "PRODUCT_NAME", request)}
>> +          
>> ${Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "PRODUCT_NAME", request, "html")}
>>          </td>
>>          <td>
>>            <form method="post" 
>> action="<@ofbizUrl>removeFromCompare</@ofbizUrl>" 
>> name="removeFromCompare${product_index}form">
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/configproductdetail.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/configproductdetail.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/configproductdetail.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/configproductdetail.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -193,7 +193,7 @@ function getConfigDetails() {
>>    <#-- Product image/name/price -->
>>    <tr>
>>      <td valign="top" width="0">
>> -      <#assign productLargeImageUrl = 
>> productContentWrapper.get("LARGE_IMAGE_URL")!>
>> +      <#assign productLargeImageUrl = 
>> productContentWrapper.get("LARGE_IMAGE_URL", "url")!>
>>        <#-- remove the next two lines to always display the virtual image 
>> first (virtual images must exist) -->
>>        <#if firstLargeImage?has_content>
>>          <#assign productLargeImageUrl = firstLargeImage>
>> @@ -203,8 +203,8 @@ function getConfigDetails() {
>>        </#if>
>>      </td>
>>      <td align="right" valign="top">
>> -      <h2>${productContentWrapper.get("PRODUCT_NAME")!}</h2>
>> -      <div>${productContentWrapper.get("DESCRIPTION")!}</div>
>> +      <h2>${productContentWrapper.get("PRODUCT_NAME", "html")!}</h2>
>> +      <div>${productContentWrapper.get("DESCRIPTION", "html")!}</div>
>>        <div><b>${product.productId!}</b></div>
>>        <#-- example of showing a certain type of feature with the product -->
>>        <#if sizeProductFeatureAndAppls?has_content>
>> @@ -394,9 +394,9 @@ function getConfigDetails() {
>>              <#list imageKeys as key>
>>                <#assign swatchProduct = imageMap.get(key)>
>>                <#if swatchProduct?has_content && indexer < maxIndex>
>> -                <#assign imageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(swatchProduct,
>>  "SMALL_IMAGE_URL", request)!>
>> +                <#assign imageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(swatchProduct,
>>  "SMALL_IMAGE_URL", request, "url")!>
>>                  <#if !imageUrl?string?has_content>
>> -                  <#assign imageUrl = 
>> productContentWrapper.get("SMALL_IMAGE_URL")!>
>> +                  <#assign imageUrl = 
>> productContentWrapper.get("SMALL_IMAGE_URL", "url")!>
>>                  </#if>
>>                  <#if !imageUrl?string?has_content>
>>                    <#assign imageUrl = "/images/defaultImage.jpg">
>> @@ -423,7 +423,7 @@ function getConfigDetails() {
>>    <#-- Long description of product -->
>>    <tr>
>>      <td colspan="2">
>> -      <div>${productContentWrapper.get("LONG_DESCRIPTION")!}</div>
>> +      <div>${productContentWrapper.get("LONG_DESCRIPTION", "html")!}</div>
>>      </td>
>>    </tr>
>>  @@ -461,7 +461,7 @@ function getConfigDetails() {
>>                  <#if instructions?has_content>
>>                    <a 
>> href="javascript:showErrorAlert("${uiLabelMap.CommonErrorMessage2}","${instructions}");"
>>  class="buttontext">Instructions</a>
>>                  </#if>
>> -                <#assign image = question.content.get("IMAGE_URL")!>
>> +                <#assign image = question.content.get("IMAGE_URL", "url")!>
>>                  <#if image?has_content>
>>                    <img 
>> src='<@ofbizContentUrl>${contentPathPrefix!}${image!}</@ofbizContentUrl>' 
>> vspace='5' hspace='5' class='cssImgSmall' align='left' alt="" />
>>                  </#if>
>> @@ -620,7 +620,7 @@ function getConfigDetails() {
>>    </#if>
>>    <#if assocProducts?has_content>
>>      <tr><td>&nbsp;</td></tr>
>> -    <tr><td colspan="2"><h2>${beforeName!}<#if showName == 
>> "Y">${productContentWrapper.get("PRODUCT_NAME")!}</#if>${afterName!}</h2></td></tr>
>> +    <tr><td colspan="2"><h2>${beforeName!}<#if showName == 
>> "Y">${productContentWrapper.get("PRODUCT_NAME", 
>> "html")!}</#if>${afterName!}</h2></td></tr>
>>      <tr><td><hr /></td></tr>
>>      <#list assocProducts as productAssoc>
>>        <tr><td>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/inlineProductDetail.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/inlineProductDetail.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/inlineProductDetail.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/inlineProductDetail.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -258,7 +258,7 @@ ${virtualJavaScript!}
>>  <table border="0" cellpadding="2" cellspacing="0" width="100%">
>>    <tr>
>>      <td align="left" valign="top" width="0">
>> -      <#assign productLargeImageUrl = 
>> productContentWrapper.get("LARGE_IMAGE_URL")!>
>> +      <#assign productLargeImageUrl = 
>> productContentWrapper.get("LARGE_IMAGE_URL", "url")!>
>>        <#if firstLargeImage?has_content>
>>          <#assign productLargeImageUrl = firstLargeImage>
>>        </#if>
>> @@ -268,7 +268,7 @@ ${virtualJavaScript!}
>>        </#if>
>>      </td>
>>      <td align="right" valign="top" width="100%">
>> -    <#--    <h2>${productContentWrapper.get("PRODUCT_NAME")!}</h2>  -->
>> +    <#--    <h2>${productContentWrapper.get("PRODUCT_NAME", "html")!}</h2>  
>> -->
>>          <#assign inStock = true>
>>          <#if product.isVirtual!?upper_case == "Y">
>>          <#if product.virtualVariantMethodEnum! == "VV_FEATURETREE" && 
>> featureLists?has_content>
>> @@ -365,9 +365,9 @@ ${virtualJavaScript!}
>>              <#list imageKeys as key>
>>                <#assign swatchProduct = imageMap.get(key)>
>>                <#if swatchProduct?has_content && indexer < maxIndex>
>> -                <#assign imageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(swatchProduct,
>>  "SMALL_IMAGE_URL", request)!>
>> +                <#assign imageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(swatchProduct,
>>  "SMALL_IMAGE_URL", request, "url")!>
>>                  <#if !imageUrl?string?has_content>
>> -                  <#assign imageUrl = 
>> productContentWrapper.get("SMALL_IMAGE_URL")!>
>> +                  <#assign imageUrl = 
>> productContentWrapper.get("SMALL_IMAGE_URL", "url")!>
>>                  </#if>
>>                  <#if !imageUrl?string?has_content>
>>                    <#assign imageUrl = "/images/defaultImage.jpg">
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -304,7 +304,7 @@ ${virtualJavaScript!}
>>    <#-- Product image/name/price -->
>>    <tr>
>>      <td valign="top" width="0">
>> -      <#assign productLargeImageUrl = 
>> productContentWrapper.get("LARGE_IMAGE_URL")!>
>> +      <#assign productLargeImageUrl = 
>> productContentWrapper.get("LARGE_IMAGE_URL", "url")!>
>>        <#-- remove the next two lines to always display the virtual image 
>> first (virtual images must exist) -->
>>        <#if firstLargeImage?has_content>
>>          <#assign productLargeImageUrl = firstLargeImage>
>> @@ -314,8 +314,8 @@ ${virtualJavaScript!}
>>        </#if>
>>      </td>
>>      <td align="right" valign="top">
>> -      <h2>${productContentWrapper.get("PRODUCT_NAME")!}</h2>
>> -      <div>${productContentWrapper.get("DESCRIPTION")!}</div>
>> +      <h2>${productContentWrapper.get("PRODUCT_NAME", "html")!}</h2>
>> +      <div>${productContentWrapper.get("DESCRIPTION", "html")!}</div>
>>        <div><b>${product.productId!}</b></div>
>>        <#-- example of showing a certain type of feature with the product -->
>>        <#if sizeProductFeatureAndAppls?has_content>
>> @@ -596,9 +596,9 @@ ${virtualJavaScript!}
>>              <#list imageKeys as key>
>>                <#assign swatchProduct = imageMap.get(key)>
>>                <#if swatchProduct?has_content && indexer < maxIndex>
>> -                <#assign imageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(swatchProduct,
>>  "SMALL_IMAGE_URL", request)!>
>> +                <#assign imageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(swatchProduct,
>>  "SMALL_IMAGE_URL", request, "url")!>
>>                  <#if !imageUrl?string?has_content>
>> -                  <#assign imageUrl = 
>> productContentWrapper.get("SMALL_IMAGE_URL")!>
>> +                  <#assign imageUrl = 
>> productContentWrapper.get("SMALL_IMAGE_URL", "url")!>
>>                  </#if>
>>                  <#if !imageUrl?string?has_content>
>>                    <#assign imageUrl = "/images/defaultImage.jpg">
>> @@ -633,8 +633,8 @@ ${virtualJavaScript!}
>>      <#-- Long description of product -->
>>    <div id="long-description">
>> -      <div>${productContentWrapper.get("LONG_DESCRIPTION")!}</div>
>> -      <div>${productContentWrapper.get("WARNINGS")!}</div>
>> +      <div>${productContentWrapper.get("LONG_DESCRIPTION", "html")!}</div>
>> +      <div>${productContentWrapper.get("WARNINGS", "html")!}</div>
>>    </div>
>>      <#-- Any attributes/etc may go here -->
>> @@ -646,7 +646,7 @@ ${virtualJavaScript!}
>>      <#assign targetRequest = targetRequestName>
>>    </#if>
>>    <#if assocProducts?has_content>
>> -    <h2>${beforeName!}<#if showName == 
>> "Y">${productContentWrapper.get("PRODUCT_NAME")!}</#if>${afterName!}</h2>
>> +    <h2>${beforeName!}<#if showName == 
>> "Y">${productContentWrapper.get("PRODUCT_NAME", 
>> "html")!}</#if>${afterName!}</h2>
>>        <div class="productsummary-container">
>>      <#list assocProducts as productAssoc>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productsummary.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productsummary.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productsummary.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/productsummary.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -62,7 +62,7 @@ ${virtualJavaScript!}
>>      <#if requestAttributes.productCategoryMember??>
>>          <#assign prodCatMem = requestAttributes.productCategoryMember>
>>      </#if>
>> -    <#assign smallImageUrl = productContentWrapper.get("SMALL_IMAGE_URL")!>
>> +    <#assign smallImageUrl = productContentWrapper.get("SMALL_IMAGE_URL", 
>> "url")!>
>>      <#if !smallImageUrl?string?has_content><#assign smallImageUrl = 
>> "/images/defaultImage.jpg"></#if>
>>      <#-- end variable setup -->
>>      <#assign productInfoLinkId = "productInfoLink">
>> @@ -160,9 +160,9 @@ ${virtualJavaScript!}
>>          </div>
>>          <div class="productinfo">
>>            <div>
>> -            <a href="${productUrl}" 
>> class="linktext">${productContentWrapper.get("PRODUCT_NAME")!}</a>
>> +            <a href="${productUrl}" 
>> class="linktext">${productContentWrapper.get("PRODUCT_NAME", "html")!}</a>
>>            </div>
>> -          <div>${productContentWrapper.get("DESCRIPTION")!}<#if 
>> daysToShip??>&nbsp;-&nbsp;${uiLabelMap.ProductUsuallyShipsIn} 
>> <b>${daysToShip}</b> ${uiLabelMap.CommonDays}!</#if></div>
>> +          <div>${productContentWrapper.get("DESCRIPTION", "html")!}<#if 
>> daysToShip??>&nbsp;-&nbsp;${uiLabelMap.ProductUsuallyShipsIn} 
>> <b>${daysToShip}</b> ${uiLabelMap.CommonDays}!</#if></div>
>>              <#-- Display category-specific product comments -->
>>            <#if prodCatMem?? && prodCatMem.comments?has_content>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/quickaddsummary.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/quickaddsummary.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/quickaddsummary.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/entry/catalog/quickaddsummary.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -25,7 +25,7 @@ under the License.
>>    </span>
>>    <span class="name">
>>      <div>
>> -      <a 
>> href="<@ofbizUrl>product?product_id=${product.productId}</@ofbizUrl>" 
>> class="buttontext">${productContentWrapper.get("PRODUCT_NAME")!}</a>
>> +      <a 
>> href="<@ofbizUrl>product?product_id=${product.productId}</@ofbizUrl>" 
>> class="buttontext">${productContentWrapper.get("PRODUCT_NAME", "html")!}</a>
>>      </div>
>>    </span>
>>    <span class="listPrice">
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/editorderitems.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/editorderitems.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/editorderitems.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/editorderitems.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -106,7 +106,7 @@ under the License.
>>                                    <div>
>>                                        <a 
>> href="/catalog/control/EditProduct?productId=${productId}" 
>> class="buttontext" target="_blank">${uiLabelMap.ProductCatalog}</a>
>>                                        <a 
>> href="/ecommerce/control/product?product_id=${productId}" class="buttontext" 
>> target="_blank">${uiLabelMap.OrderEcommerce}</a>
>> -                                      <#if 
>> orderItemContentWrapper.get("IMAGE_URL")?has_content>
>> +                                      <#if 
>> orderItemContentWrapper.get("IMAGE_URL", "url")?has_content>
>>                                        <a 
>> href="<@ofbizUrl>viewimage?orderId=${orderId}&amp;orderItemSeqId=${orderItem.orderItemSeqId}&amp;orderContentTypeId=IMAGE_URL</@ofbizUrl>"
>>  target="_orderImage" class="buttontext">${uiLabelMap.OrderViewImage}</a>
>>                                        </#if>
>>                                    </div>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderinfo.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderinfo.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderinfo.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderinfo.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -223,7 +223,7 @@ under the License.
>>                </td>
>>              </tr>
>>              </#if>
>> -            <#if orderContentWrapper.get("IMAGE_URL")?has_content>
>> +            <#if orderContentWrapper.get("IMAGE_URL", "url")?has_content>
>>              <tr><td colspan="3"><hr /></td></tr>
>>              <tr>
>>                <td align="right" valign="top" width="15%" 
>> class="label">&nbsp;${uiLabelMap.OrderImage}</td>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderitems.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderitems.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderitems.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/order/webapp/ordermgr/order/orderitems.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -89,7 +89,7 @@ under the License.
>>                                          </#if>
>>                                          <a 
>> href="/catalog/control/EditProduct?productId=${productId}${StringUtil.wrapString(externalKeyParam)}"
>>  class="buttontext" target="_blank">${uiLabelMap.ProductCatalog}</a>
>>                                          <a 
>> href="/ecommerce/control/product?product_id=${productId}" class="buttontext" 
>> target="_blank">${uiLabelMap.OrderEcommerce}</a>
>> -                                        <#if 
>> orderItemContentWrapper.get("IMAGE_URL")?has_content>
>> +                                        <#if 
>> orderItemContentWrapper.get("IMAGE_URL", "url")?has_content>
>>                                              <a 
>> href="<@ofbizUrl>viewimage?orderId=${orderId}&amp;orderItemSeqId=${orderItem.orderItemSeqId}&amp;orderContentTypeId=IMAGE_URL</@ofbizUrl>"
>>                                                 target="_orderImage" 
>> class="buttontext">${uiLabelMap.OrderViewImage}</a>
>>                                          </#if>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/editShoppingList.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/editShoppingList.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/editShoppingList.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/editShoppingList.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -206,7 +206,7 @@ under the License.
>>            <#assign isVirtual = product.isVirtual?? && 
>> product.isVirtual.equals("Y")>
>>            <tr valign="middle"<#if alt_row> class="alternate-row"</#if>>
>>              <td><a 
>> href="/catalog/control/EditProduct?productId=${shoppingListItem.productId}&amp;externalLoginKey=${requestAttributes.externalLoginKey}">${shoppingListItem.productId}
>>  -
>> -              ${productContentWrapper.get("PRODUCT_NAME")?default("No 
>> Name")}</a> : ${productContentWrapper.get("DESCRIPTION")!}
>> +              ${productContentWrapper.get("PRODUCT_NAME", 
>> "html")?default("No Name")}</a> : ${productContentWrapper.get("DESCRIPTION", 
>> "html")!}
>>              </td>
>>              <form method="post" 
>> action="<@ofbizUrl>removeFromShoppingList</@ofbizUrl>" 
>> name='removeform_${shoppingListItem.shoppingListItemSeqId}'>
>>                <input type="hidden" name="shoppingListId" 
>> value="${shoppingListItem.shoppingListId}" />
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/profileblocks/SerializedInventory.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/profileblocks/SerializedInventory.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/profileblocks/SerializedInventory.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/party/webapp/partymgr/party/profileblocks/SerializedInventory.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -47,7 +47,7 @@ under the License.
>>                                      <#assign product = 
>> Static['org.ofbiz.product.product.ProductWorker'].getParentProduct(product.productId,
>>  delegator)!>
>>                                  </#if>
>>                                  <#if product?has_content>
>> -                                    <#assign productName = 
>> Static['org.ofbiz.product.product.ProductContentWrapper'].getProductContentAsText(product,
>>  'PRODUCT_NAME', request)!>
>> +                                    <#assign productName = 
>> Static['org.ofbiz.product.product.ProductContentWrapper'].getProductContentAsText(product,
>>  'PRODUCT_NAME', request, "html")!>
>>                                      <a 
>> href="/catalog/control/EditProduct?productId=${product.productId}&amp;externalLoginKey=${requestAttributes.externalLoginKey!}">${productName?default(product.productId)}</a>
>>                                  </#if>
>>                              </#if>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/category/CatalogUrlFilter.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/category/CatalogUrlFilter.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/category/CatalogUrlFilter.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/category/CatalogUrlFilter.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -354,7 +354,7 @@ public class CatalogUrlFilter extends Co
>>        public static String makeCategoryUrl(Delegator delegator, 
>> CategoryContentWrapper wrapper, List<String> trail, String contextPath, 
>> String previousCategoryId, String productCategoryId, String productId, 
>> String viewSize, String viewIndex, String viewSort, String searchString) {
>>          String url = "";
>> -        StringWrapper alternativeUrl = wrapper.get("ALTERNATIVE_URL");
>> +        StringWrapper alternativeUrl = wrapper.get("ALTERNATIVE_URL", 
>> "url");
>>                    if (UtilValidate.isNotEmpty(alternativeUrl) && 
>> UtilValidate.isNotEmpty(alternativeUrl.toString())) {
>>              StringBuilder urlBuilder = new StringBuilder();
>> @@ -430,7 +430,7 @@ public class CatalogUrlFilter extends Co
>>        public static String makeProductUrl(Delegator delegator, 
>> ProductContentWrapper wrapper, List<String> trail, String contextPath, 
>> String previousCategoryId, String productCategoryId, String productId) {
>>          String url = "";
>> -        StringWrapper alternativeUrl = wrapper.get("ALTERNATIVE_URL");
>> +        StringWrapper alternativeUrl = wrapper.get("ALTERNATIVE_URL", 
>> "url");
>>          if (UtilValidate.isNotEmpty(alternativeUrl) && 
>> UtilValidate.isNotEmpty(alternativeUrl.toString())) {
>>              StringBuilder urlBuilder = new StringBuilder();
>>              urlBuilder.append(contextPath);
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductContentWrapper.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductContentWrapper.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductContentWrapper.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductContentWrapper.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -31,10 +31,11 @@ import javolution.util.FastMap;
>>    import org.ofbiz.base.util.Debug;
>>  import org.ofbiz.base.util.GeneralException;
>> +import org.ofbiz.base.util.GeneralRuntimeException;
>>  import org.ofbiz.base.util.StringUtil;
>> +import org.ofbiz.base.util.UtilCodec;
>>  import org.ofbiz.base.util.UtilHttp;
>>  import org.ofbiz.base.util.UtilValidate;
>> -import org.ofbiz.base.util.GeneralRuntimeException;
>>  import org.ofbiz.base.util.cache.UtilCache;
>>  import org.ofbiz.content.content.ContentWorker;
>>  import org.ofbiz.content.content.ContentWrapper;
>> @@ -79,28 +80,30 @@ public class ProductContentWrapper imple
>>          this.mimeTypeId = "text/html";
>>      }
>>  -    public StringUtil.StringWrapper get(String productContentTypeId) {
>> +    public StringUtil.StringWrapper get(String productContentTypeId, String 
>> encoderType) {
>>          if (this.product == null) {
>>              Debug.logWarning("Tried to get ProductContent for type [" + 
>> productContentTypeId + "] but the product field in the ProductContentWrapper 
>> is null", module);
>>              return null;
>>          }
>> -        return 
>> StringUtil.makeStringWrapper(getProductContentAsText(this.product, 
>> productContentTypeId, locale, mimeTypeId, null, null, 
>> this.product.getDelegator(), dispatcher));
>> +        return 
>> StringUtil.makeStringWrapper(getProductContentAsText(this.product, 
>> productContentTypeId, locale, mimeTypeId, null, null, 
>> this.product.getDelegator(), dispatcher, encoderType));
>>      }
>>  -    public static String getProductContentAsText(GenericValue product, 
>> String productContentTypeId, HttpServletRequest request) {
>> +    public static String getProductContentAsText(GenericValue product, 
>> String productContentTypeId, HttpServletRequest request, String encoderType) 
>> {
>>          LocalDispatcher dispatcher = (LocalDispatcher) 
>> request.getAttribute("dispatcher");
>> -        return getProductContentAsText(product, productContentTypeId, 
>> UtilHttp.getLocale(request), "text/html", null, null, 
>> product.getDelegator(), dispatcher);
>> +        return getProductContentAsText(product, productContentTypeId, 
>> UtilHttp.getLocale(request), "text/html", null, null, 
>> product.getDelegator(), dispatcher, encoderType);
>>      }
>>  -    public static String getProductContentAsText(GenericValue product, 
>> String productContentTypeId, Locale locale, LocalDispatcher dispatcher) {
>> -        return getProductContentAsText(product, productContentTypeId, 
>> locale, null, null, null, null, dispatcher);
>> +    public static String getProductContentAsText(GenericValue product, 
>> String productContentTypeId, Locale locale, LocalDispatcher dispatcher, 
>> String encoderType) {
>> +        return getProductContentAsText(product, productContentTypeId, 
>> locale, null, null, null, null, dispatcher, encoderType);
>>      }
>>  -    public static String getProductContentAsText(GenericValue product, 
>> String productContentTypeId, Locale locale, String mimeTypeId, String 
>> partyId, String roleTypeId, Delegator delegator, LocalDispatcher dispatcher) 
>> {
>> +    public static String getProductContentAsText(GenericValue product, 
>> String productContentTypeId, Locale locale, String mimeTypeId, String 
>> partyId,
>> +            String roleTypeId, Delegator delegator, LocalDispatcher 
>> dispatcher, String encoderType) {
>>          if (product == null) {
>>              return null;
>>          }
>>  +        UtilCodec.SimpleEncoder encoder = 
>> UtilCodec.getEncoder(encoderType);
>>          String candidateFieldName = 
>> ModelUtil.dbNameToVarName(productContentTypeId);
>>          /* caching: there is one cache created, "product.content"  Each 
>> product's content is cached with a key of
>>           * contentTypeId::locale::mimeType::productId, or whatever the 
>> SEPARATOR is defined above to be.
>> @@ -116,19 +119,19 @@ public class ProductContentWrapper imple
>>              getProductContentAsText(null, product, productContentTypeId, 
>> locale, mimeTypeId, partyId, roleTypeId, delegator, dispatcher, outWriter);
>>              String outString = outWriter.toString();
>>              if (outString.length() > 0) {
>> -                return productContentCache.putIfAbsentAndGet(cacheKey, 
>> outString);
>> +                return productContentCache.putIfAbsentAndGet(cacheKey, 
>> encoder.encode(outString));
>>              } else {
>>                  String candidateOut = 
>> product.getModelEntity().isField(candidateFieldName) ? 
>> product.getString(candidateFieldName): "";
>> -                return candidateOut == null? "" : candidateOut;
>> +                return candidateOut == null? "" : 
>> encoder.encode(candidateOut);
>>              }
>>          } catch (GeneralException e) {
>>              Debug.logError(e, "Error rendering ProductContent, inserting 
>> empty String", module);
>>              String candidateOut = 
>> product.getModelEntity().isField(candidateFieldName) ? 
>> product.getString(candidateFieldName): "";
>> -            return candidateOut == null? "" : candidateOut;
>> +            return candidateOut == null? "" : encoder.encode(candidateOut);
>>          } catch (IOException e) {
>>              Debug.logError(e, "Error rendering ProductContent, inserting 
>> empty String", module);
>>              String candidateOut = 
>> product.getModelEntity().isField(candidateFieldName) ? 
>> product.getString(candidateFieldName): "";
>> -            return candidateOut == null? "" : candidateOut;
>> +            return candidateOut == null? "" : encoder.encode(candidateOut);
>>          }
>>      }
>>  
>> Modified: 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductPromoContentWrapper.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductPromoContentWrapper.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductPromoContentWrapper.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductPromoContentWrapper.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -34,6 +34,7 @@ import org.ofbiz.base.util.Debug;
>>  import org.ofbiz.base.util.GeneralException;
>>  import org.ofbiz.base.util.GeneralRuntimeException;
>>  import org.ofbiz.base.util.StringUtil;
>> +import org.ofbiz.base.util.UtilCodec;
>>  import org.ofbiz.base.util.UtilHttp;
>>  import org.ofbiz.base.util.UtilMisc;
>>  import org.ofbiz.base.util.UtilValidate;
>> @@ -84,28 +85,29 @@ public class ProductPromoContentWrapper
>>          this.mimeTypeId = "text/html";
>>      }
>>  -    public StringUtil.StringWrapper get(String productPromoContentTypeId) {
>> +    public StringUtil.StringWrapper get(String productPromoContentTypeId, 
>> String encoderType) {
>>          if (UtilValidate.isEmpty(this.productPromo)) {
>>              Debug.logWarning("Tried to get ProductPromoContent for type [" 
>> + productPromoContentTypeId + "] but the productPromo field in the 
>> ProductPromoContentWrapper is null", module);
>>              return null;
>>          }
>> -        return 
>> StringUtil.makeStringWrapper(getProductPromoContentAsText(this.productPromo, 
>> productPromoContentTypeId, locale, mimeTypeId, null, null, 
>> this.productPromo.getDelegator(), dispatcher));
>> +        return 
>> StringUtil.makeStringWrapper(getProductPromoContentAsText(this.productPromo, 
>> productPromoContentTypeId, locale, mimeTypeId, null, null, 
>> this.productPromo.getDelegator(), dispatcher, encoderType));
>>      }
>>  -    public static String getProductPromoContentAsText(GenericValue 
>> productPromo, String productPromoContentTypeId, HttpServletRequest request) {
>> +    public static String getProductPromoContentAsText(GenericValue 
>> productPromo, String productPromoContentTypeId, HttpServletRequest request, 
>> String encoderType) {
>>          LocalDispatcher dispatcher = (LocalDispatcher) 
>> request.getAttribute("dispatcher");
>> -        return getProductPromoContentAsText(productPromo, 
>> productPromoContentTypeId, UtilHttp.getLocale(request), "text/html", null, 
>> null, productPromo.getDelegator(), dispatcher);
>> +        return getProductPromoContentAsText(productPromo, 
>> productPromoContentTypeId, UtilHttp.getLocale(request), "text/html", null, 
>> null, productPromo.getDelegator(), dispatcher, encoderType);
>>      }
>>  -    public static String getProductContentAsText(GenericValue 
>> productPromo, String productPromoContentTypeId, Locale locale, 
>> LocalDispatcher dispatcher) {
>> -        return getProductPromoContentAsText(productPromo, 
>> productPromoContentTypeId, locale, null, null, null, null, dispatcher);
>> +    public static String getProductContentAsText(GenericValue productPromo, 
>> String productPromoContentTypeId, Locale locale, LocalDispatcher dispatcher, 
>> String encoderType) {
>> +        return getProductPromoContentAsText(productPromo, 
>> productPromoContentTypeId, locale, null, null, null, null, dispatcher, 
>> encoderType);
>>      }
>>  -    public static String getProductPromoContentAsText(GenericValue 
>> productPromo, String productPromoContentTypeId, Locale locale, String 
>> mimeTypeId, String partyId, String roleTypeId, Delegator delegator, 
>> LocalDispatcher dispatcher) {
>> +    public static String getProductPromoContentAsText(GenericValue 
>> productPromo, String productPromoContentTypeId, Locale locale, String 
>> mimeTypeId, String partyId, String roleTypeId, Delegator delegator, 
>> LocalDispatcher dispatcher, String encoderType) {
>>          if (UtilValidate.isEmpty(productPromo)) {
>>              return null;
>>          }
>>  +        UtilCodec.SimpleEncoder encoder = 
>> UtilCodec.getEncoder(encoderType);
>>          String candidateFieldName = 
>> ModelUtil.dbNameToVarName(productPromoContentTypeId);
>>          /* caching: there is one cache created, "product.promo.content"  
>> Each productPromo's content is cached with a key of
>>           * contentTypeId::locale::mimeType::productPromoId, or whatever the 
>> SEPARATOR is defined above to be.
>> @@ -121,19 +123,19 @@ public class ProductPromoContentWrapper
>>              getProductPromoContentAsText(null, productPromo, 
>> productPromoContentTypeId, locale, mimeTypeId, partyId, roleTypeId, 
>> delegator, dispatcher, outWriter);
>>              String outString = outWriter.toString();
>>              if (outString.length() > 0) {
>> -                return productPromoContentCache.putIfAbsentAndGet(cacheKey, 
>> outString);
>> +                return productPromoContentCache.putIfAbsentAndGet(cacheKey, 
>> encoder.encode(outString));
>>              } else {
>>                  String candidateOut = 
>> productPromo.getModelEntity().isField(candidateFieldName) ? 
>> productPromo.getString(candidateFieldName): "";
>> -                return candidateOut == null? "" : candidateOut;
>> +                return candidateOut == null? "" : 
>> encoder.encode(candidateOut);
>>              }
>>          } catch (GeneralException e) {
>>              Debug.logError(e, "Error rendering ProductPromoContent, 
>> inserting empty String", module);
>>              String candidateOut = 
>> productPromo.getModelEntity().isField(candidateFieldName) ? 
>> productPromo.getString(candidateFieldName): "";
>> -            return candidateOut == null? "" : candidateOut;
>> +            return candidateOut == null? "" : encoder.encode(candidateOut);
>>          } catch (IOException e) {
>>              Debug.logError(e, "Error rendering ProductPromoContent, 
>> inserting empty String", module);
>>              String candidateOut = 
>> productPromo.getModelEntity().isField(candidateFieldName) ? 
>> productPromo.getString(candidateFieldName): "";
>> -            return candidateOut == null? "" : candidateOut;
>> +            return candidateOut == null? "" : encoder.encode(candidateOut);
>>          }
>>      }
>>  
>> Modified: 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductSearch.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductSearch.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductSearch.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductSearch.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -979,9 +979,9 @@ public class ProductSearch {
>>              StringBuilder ppBuf = new StringBuilder();
>>              ppBuf.append(UtilProperties.getMessage(resource, 
>> "ProductCategory", locale)).append(": ");
>>              if (productCategory != null) {
>> -                String catInfo = 
>> CategoryContentWrapper.getProductCategoryContentAsText(productCategory, 
>> "CATEGORY_NAME", locale, null);
>> +                String catInfo = 
>> CategoryContentWrapper.getProductCategoryContentAsText(productCategory, 
>> "CATEGORY_NAME", locale, null, "html");
>>                  if (UtilValidate.isEmpty(catInfo)) {
>> -                    catInfo = 
>> CategoryContentWrapper.getProductCategoryContentAsText(productCategory, 
>> "DESCRIPTION", locale, null);
>> +                    catInfo = 
>> CategoryContentWrapper.getProductCategoryContentAsText(productCategory, 
>> "DESCRIPTION", locale, null, "html");
>>                  }
>>                  ppBuf.append(catInfo);
>>              }
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductWorker.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductWorker.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductWorker.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/product/ProductWorker.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -342,7 +342,7 @@ public class ProductWorker {
>>                  }
>>                    // got to here, default to PRODUCT_NAME
>> -                String alternativeProductName = 
>> ProductContentWrapper.getProductContentAsText(alternativeOptionProduct, 
>> "PRODUCT_NAME", locale, dispatcher);
>> +                String alternativeProductName = 
>> ProductContentWrapper.getProductContentAsText(alternativeOptionProduct, 
>> "PRODUCT_NAME", locale, dispatcher, "html");
>>                  // Debug.logInfo("Using PRODUCT_NAME: " + 
>> alternativeProductName, module);
>>                  return alternativeProductName;
>>              }
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/product/webapp/catalog/WEB-INF/actions/category/EditCategoryContentContent.groovy
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/webapp/catalog/WEB-INF/actions/category/EditCategoryContentContent.groovy?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/product/webapp/catalog/WEB-INF/actions/category/EditCategoryContentContent.groovy
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/product/webapp/catalog/WEB-INF/actions/category/EditCategoryContentContent.groovy
>>  Fri Sep 25 16:34:34 2015
>> @@ -59,6 +59,6 @@ if ("RELATED_URL".equals(prodCatContentT
>>          context.dataResourceTypeId = "VIDEO_OBJECT";
>>      }
>>      context.contentFormName = "EditCategoryContentDownload";
>> -    context.contentFormTitle = 
>> "${uiLabelMap.ProductUpdateDownloadContentCategory}";
>> -    
>> +    context.contentFormTitle = 
>> "${uiLabelMap.ProductUpdateDownloadContentCategory}";
>> +
>>  }
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/product/webapp/catalog/product/AddAdditionalImages.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/webapp/catalog/product/AddAdditionalImages.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/product/webapp/catalog/product/AddAdditionalImages.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/product/webapp/catalog/product/AddAdditionalImages.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -17,10 +17,10 @@ specific language governing permissions
>>  under the License.
>>  -->
>>  <#if product?has_content>
>> -  <#assign productAdditionalImage1 = 
>> (Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "ADDITIONAL_IMAGE_1", locale, dispatcher))! />
>> -  <#assign productAdditionalImage2 = 
>> (Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "ADDITIONAL_IMAGE_2", locale, dispatcher))! />
>> -  <#assign productAdditionalImage3 = 
>> (Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "ADDITIONAL_IMAGE_3", locale, dispatcher))! />
>> -  <#assign productAdditionalImage4 = 
>> (Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "ADDITIONAL_IMAGE_4", locale, dispatcher))! />
>> +  <#assign productAdditionalImage1 = 
>> (Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "ADDITIONAL_IMAGE_1", locale, dispatcher, "url"))! />
>> +  <#assign productAdditionalImage2 = 
>> (Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "ADDITIONAL_IMAGE_2", locale, dispatcher, "url"))! />
>> +  <#assign productAdditionalImage3 = 
>> (Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "ADDITIONAL_IMAGE_3", locale, dispatcher, "url"))! />
>> +  <#assign productAdditionalImage4 = 
>> (Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product,
>>  "ADDITIONAL_IMAGE_4", locale, dispatcher, "url"))! />
>>  </#if>
>>  <form id="addAdditionalImagesForm" method="post" 
>> action="<@ofbizUrl>addAdditionalImagesForProduct</@ofbizUrl>" 
>> enctype="multipart/form-data">
>>    <input id="additionalImageProductId" type="hidden" name="productId" 
>> value="${productId!}" />
>> 
>> Modified: 
>> ofbiz/branches/release14.12/applications/product/widget/catalog/ProductForms.xml
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/widget/catalog/ProductForms.xml?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/applications/product/widget/catalog/ProductForms.xml
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/applications/product/widget/catalog/ProductForms.xml
>>  Fri Sep 25 16:34:34 2015
>> @@ -1235,7 +1235,7 @@ under the License.
>>      <form name="ListCostComponents" type="list" title="" list-name="listIt"
>>          odd-row-style="alternate-row" default-table-style="basic-table" 
>> paginate-target="EditProductCosts">
>>          <actions>
>> -            <set field="InParam.productId" 
>> from-field="requestParameters.productId"/>
>> +            <set field="InParam.productId" 
>> from-field="requestParameters.productId"/>
>>              <service service-name="performFind" result-map="result" 
>> result-map-list="listIt">
>>                  <field-map field-name="inputFields" from-field="InParam"/>
>>                  <field-map field-name="entityName" value="CostComponent"/>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java
>>  Fri Sep 25 16:34:34 2015
>> @@ -47,10 +47,10 @@ import org.ofbiz.entity.condition.Entity
>>  import org.ofbiz.entity.util.EntityQuery;
>>  import org.ofbiz.entity.util.EntityUtil;
>>  import org.ofbiz.entity.util.EntityUtilProperties;
>> +import org.ofbiz.product.product.ProductContentWrapper;
>>  import org.ofbiz.service.DispatchContext;
>>  import org.ofbiz.service.ModelService;
>>  import org.ofbiz.service.ServiceUtil;
>> -import org.ofbiz.product.product.ProductContentWrapper;
>>  import org.w3c.dom.Document;
>>  import org.w3c.dom.Element;
>>  import org.w3c.dom.Node;
>> @@ -266,7 +266,7 @@ public class ProductsExportToEbay {
>>                  }
>>                    ProductContentWrapper pcw = new 
>> ProductContentWrapper(dctx.getDispatcher(), prod, locale, "text/html");
>> -                StringUtil.StringWrapper ebayDescription = 
>> pcw.get("EBAY_DESCRIPTION");
>> +                StringUtil.StringWrapper ebayDescription = 
>> pcw.get("EBAY_DESCRIPTION", "html");
>>                  if (UtilValidate.isNotEmpty(ebayDescription.toString())) {
>>                      UtilXml.addChildElementCDATAValue(itemElem, 
>> "Description", ebayDescription.toString(), itemDocument);
>>                  } else {
>> 
>> Modified: 
>> ofbiz/branches/release14.12/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -239,7 +239,7 @@ under the License.
>>                       <#assign smallImageUrl = "">
>>                       <#if contentList?has_content>
>>                            <#list contentList as content>
>> -                                <#if content.product.productId! == 
>> item.getSKU()!><#assign smallImageUrl = 
>> content.productContentWrapper.get("SMALL_IMAGE_URL")!></#if>
>> +                                <#if content.product.productId! == 
>> item.getSKU()!><#assign smallImageUrl = 
>> content.productContentWrapper.get("SMALL_IMAGE_URL", "url")!></#if>
>>                            </#list>
>>                       </#if>
>>                       <#if !smallImageUrl?string?has_content><#assign 
>> smallImageUrl = "/images/defaultImage.jpg"></#if>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/UpdateCart.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/UpdateCart.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/UpdateCart.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/UpdateCart.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -66,7 +66,7 @@ under the License.
>>              <#else>
>>                <#assign parentProductId = cartLine.getProductId() />
>>              </#if>
>> -            <#assign smallImageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(),
>>  "SMALL_IMAGE_URL", locale, dispatcher)! />
>> +            <#assign smallImageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(),
>>  "SMALL_IMAGE_URL", locale, dispatcher, "url")! />
>>              <#if !smallImageUrl?string?has_content><#assign smallImageUrl = 
>> "" /></#if>
>>            </#if>
>>            <tr id="cartItemDisplayRow_${cartLine_index}">
>> @@ -136,7 +136,7 @@ under the License.
>>                      <#else>
>>                        <#assign parentProductId = cartLine.getProductId() />
>>                      </#if>
>> -                    <#assign smallImageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(),
>>  "SMALL_IMAGE_URL", locale, dispatcher)! />
>> +                    <#assign smallImageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(),
>>  "SMALL_IMAGE_URL", locale, dispatcher, "url")! />
>>                      <#if !smallImageUrl?string?has_content><#assign 
>> smallImageUrl = "" /></#if>
>>                      <#if smallImageUrl?string?has_content>
>>                        <img 
>> src="<@ofbizContentUrl>${requestAttributes.contentPathPrefix!}${smallImageUrl}</@ofbizContentUrl>"
>>  alt="Product Image" />
>> 
>> Modified: 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/showcart.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/showcart.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/showcart.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/cart/showcart.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -237,7 +237,7 @@ function setAlternateGwp(field) {
>>                      <#else>
>>                        <#assign parentProductId = cartLine.getProductId() />
>>                      </#if>
>> -                    <#assign smallImageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(),
>>  "SMALL_IMAGE_URL", locale, dispatcher)! />
>> +                    <#assign smallImageUrl = 
>> Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(),
>>  "SMALL_IMAGE_URL", locale, dispatcher, "url")! />
>>                      <#if !smallImageUrl?string?has_content><#assign 
>> smallImageUrl = "/images/defaultImage.jpg" /></#if>
>>                      <#if smallImageUrl?string?has_content>
>>                        <a href="<@ofbizCatalogAltUrl 
>> productId=parentProductId/>">
>> 
>> Modified: 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/LayeredCategoryDetail.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/LayeredCategoryDetail.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/LayeredCategoryDetail.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/LayeredCategoryDetail.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -53,7 +53,7 @@ under the License.
>>          <h1>${categoryDescription}</h1>
>>      </#if>
>>      <#assign longDescription = 
>> categoryContentWrapper.get("LONG_DESCRIPTION")!/>
>> -    <#assign categoryImageUrl = 
>> categoryContentWrapper.get("CATEGORY_IMAGE_URL")!/>
>> +    <#assign categoryImageUrl = 
>> categoryContentWrapper.get("CATEGORY_IMAGE_URL", "url")!/>
>>      <#if categoryImageUrl?string?has_content || longDescription?has_content>
>>        <div>
>>          <#if categoryImageUrl?string?has_content>
>> 
>> Modified: 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/ProductCategoryLink.ftl
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/ProductCategoryLink.ftl?rev=1705331&r1=1705330&r2=1705331&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/ProductCategoryLink.ftl
>>  (original)
>> +++ 
>> ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/ProductCategoryLink.ftl
>>  Fri Sep 25 16:34:34 2015
>> @@ -35,7 +35,7 @@ under the License.
>>        <#assign linkProductCategory = delegator.findOne("ProductCategory", 
>> Static["org.ofbiz.base.util.UtilMisc"].toMap("productCategoryId", 
>> productCategoryLink.linkInfo), true)/>
>>        <#assign linkCategoryContentWrapper = 
>> Static["org.ofbiz.product.category.CategoryContentWrapper"].makeCategoryContentWrapper(linkProductCategory,
>>  request)/>
>>        <#assign titleText = 
>> productCategoryLink.titleText?default(linkCategoryContentWrapper.get("CATEGORY_NAME"))!/>
>> -      <#assign imageUrl = 
>> productCategoryLink.imageUrl?default(linkCategoryContentWrapper.get("CATEGORY_IMAGE_URL"))!/>
>> +      <#assign imageUrl = 
>> productCategoryLink.imageUrl?default(linkCategoryContentWrapper.get("CATEGORY_IMAGE_URL",
>>  "url"))!/>
>>        <#assign detailText = 
>> productCategoryLink.detailText?default(linkCategoryContentWrapper.get("DESCRIPTION"))!/>
>>      </#if>
>>  
>> 
>> 
>> 
> 

Reply via email to