Hi Jacques, Can we add the get method with default encoding to maintain the backward compatibility?
Thanks & Regards — Deepak Dixit > On Sep 26, 2015, at 2:54 PM, Deepak Dixit <deepak.di...@hotwaxsystems.com> > wrote: > > 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 <jacques.le.r...@les7arts.com> >> 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, jler...@apache.org 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}&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> > >>> <#else> >>> @@ -52,17 +52,17 @@ under the License. >>> ${crumb} >>> </#if> >>> </a> >>> - <#if crumb_has_next> ></#if> >>> + <#if crumb_has_next> ></#if> >>> </#if> >>> <#assign previousCategoryId = crumb /> >>> </#if> >>> </#list> >>> <#-- Show the product, if there is one --> >>> <#if productContentWrapper??> >>> - <#if isDefaultTheme> >>> - > ${productContentWrapper.get("PRODUCT_NAME")!} >>> + <#if isDefaultTheme> >>> + > ${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(" ")}</td> >>> + <td>${productContentWrapper.get("DESCRIPTION", >>> "html")?default(" ")}</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(" ")}</td> >>> + <td>${productContentWrapper.get("LONG_DESCRIPTION", >>> "html")?default(" ")}</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> </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??> - ${uiLabelMap.ProductUsuallyShipsIn} >>> <b>${daysToShip}</b> ${uiLabelMap.CommonDays}!</#if></div> >>> + <div>${productContentWrapper.get("DESCRIPTION", "html")!}<#if >>> daysToShip??> - ${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}&orderItemSeqId=${orderItem.orderItemSeqId}&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"> ${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}&orderItemSeqId=${orderItem.orderItemSeqId}&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}&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}&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> >>> >>> >>> >>> >> >