2913 lines
97 KiB
MySQL
2913 lines
97 KiB
MySQL
|
|
--upgrade scripts from nopCommerce 2.50 to nopCommerce 2.60
|
|||
|
|
|
|||
|
|
--new locale resources
|
|||
|
|
declare @resources xml
|
|||
|
|
--a resource will be delete if its value is empty
|
|||
|
|
set @resources='
|
|||
|
|
<Language>
|
|||
|
|
<LocaleResource Name="Admin.RecurringPayments.Fields.Customer">
|
|||
|
|
<Value>Customer</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.RecurringPayments.Fields.Customer.Hint">
|
|||
|
|
<Value>Customer</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Discounts.Fields.AppliedToCategories">
|
|||
|
|
<Value>Assigned to categories</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Discounts.Fields.AppliedToCategories.Hint">
|
|||
|
|
<Value>A list of categories to which the discount is to be applied. You can assign this discount on a category details page.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Discounts.Fields.AppliedToCategories.NoRecords">
|
|||
|
|
<Value>No categories selected</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Discounts.Fields.AppliedToProductVariants">
|
|||
|
|
<Value>Assigned to product variants</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Discounts.Fields.AppliedToProductVariants.Hint">
|
|||
|
|
<Value>A list of product variants to which the discount is to be applied. You can assign this discount on a product variant details page.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Discounts.Fields.AppliedToProductVariants.NoRecords">
|
|||
|
|
<Value>No products selected</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Warnings.IncompatiblePlugin">
|
|||
|
|
<Value>''{0}'' plugin is incompatible with your nopCommerce version. Delete it or update to the latest version.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.News.NewsItems.Fields.StartDate">
|
|||
|
|
<Value>Start date</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.News.NewsItems.Fields.StartDate.Hint">
|
|||
|
|
<Value>Set the news item start date or leave empty.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.News.NewsItems.Fields.EndDate">
|
|||
|
|
<Value>End date</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.News.NewsItems.Fields.EndDate.Hint">
|
|||
|
|
<Value>Set the news item end date or leave empty.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Blog.BlogPosts.Fields.StartDate">
|
|||
|
|
<Value>Start date</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Blog.BlogPosts.Fields.StartDate.Hint">
|
|||
|
|
<Value>Set the blog post start date or leave empty.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Blog.BlogPosts.Fields.EndDate">
|
|||
|
|
<Value>End date</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Blog.BlogPosts.Fields.EndDate.Hint">
|
|||
|
|
<Value>Set the blog post end date or leave empty.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.List">
|
|||
|
|
<Value>Shipments</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.List.StartDate">
|
|||
|
|
<Value>Start date</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.List.StartDate.Hint">
|
|||
|
|
<Value>The start date (shipped on) for the search</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.List.EndDate">
|
|||
|
|
<Value>End date</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.List.EndDate.Hint">
|
|||
|
|
<Value>The end date (shipped on) for the search.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.OrderID">
|
|||
|
|
<Value>Order #</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.PrintPackagingSlip.All">
|
|||
|
|
<Value>Print packaging slips (all)</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.PrintPackagingSlip.Selected">
|
|||
|
|
<Value>Print packaging slips (selected)</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Shipping.Methods.Fields.Name.Hint">
|
|||
|
|
<Value>Enter shipping method name.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Shipping.Methods.Fields.DisplayOrder.Hint">
|
|||
|
|
<Value>The display order of this shipping method. 1 represents the top of the list.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Shipping.Methods.Fields.Description.Hint">
|
|||
|
|
<Value>Enter shipping method description.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Plugins.Fields.Install.Progress">
|
|||
|
|
<Value>Installing plugin...</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Plugins.Fields.Uninstall.Progress">
|
|||
|
|
<Value>Uninstalling plugin...</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Header.RestartApplication.Progress">
|
|||
|
|
<Value>Restarting the application...</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Common.Yes">
|
|||
|
|
<Value>Yes</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Catalog.Categories.List.SearchCategoryName">
|
|||
|
|
<Value>Category name</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Catalog.Categories.List.SearchCategoryName.Hint">
|
|||
|
|
<Value>A category name.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Catalog.Manufacturers.List.SearchManufacturerName">
|
|||
|
|
<Value>Manufacturer name</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Catalog.Manufacturers.List.SearchManufacturerName.Hint">
|
|||
|
|
<Value>A manufacturer name.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.Products.SKU">
|
|||
|
|
<Value>SKU</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="PDFInvoice.SKU">
|
|||
|
|
<Value>SKU</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Customers.ShowEmails.ShowEmails">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Customers.ShowEmails.ShowUsernames">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Customers.ShowEmails.ShowFullNames">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Customers.CustomerNameFormat.ShowEmails">
|
|||
|
|
<Value>Show emails</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Customers.CustomerNameFormat.ShowUsernames">
|
|||
|
|
<Value>Show usernames</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Customers.CustomerNameFormat.ShowFullNames">
|
|||
|
|
<Value>Show full names</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.DefaultPasswordFormat">
|
|||
|
|
<Value>Default password format</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.DefaultPasswordFormat.Hint">
|
|||
|
|
<Value>Choose default password format. Please keep in mind that this setting will be applied only to the newly registered customers.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Customers.PasswordFormat.Clear">
|
|||
|
|
<Value>Clear</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Customers.PasswordFormat.Hashed">
|
|||
|
|
<Value>Hashed</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Customers.PasswordFormat.Encrypted">
|
|||
|
|
<Value>Encrypted</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.SystemInfo.LoadedAssemblies">
|
|||
|
|
<Value>Loaded assemblies</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.SystemInfo.LoadedAssemblies.Hint">
|
|||
|
|
<Value>A list of loaded assemblies</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Common.Hide">
|
|||
|
|
<Value>Hide</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Common.Show">
|
|||
|
|
<Value>Show</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Warnings.DirectoryPermission.OK">
|
|||
|
|
<Value>All directory permissions are OK</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Warnings.DirectoryPermission.Wrong">
|
|||
|
|
<Value>The ''{0}'' account is not granted with Modify permission on folder ''{1}''. Please configure these permissions.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Warnings.FilePermission.OK">
|
|||
|
|
<Value>All file permissions are OK</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Warnings.FilePermission.Wrong">
|
|||
|
|
<Value>The ''{0}'' account is not granted with Modify permission on file ''{1}''. Please configure these permissions.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Warnings.FilePermission.Wrong">
|
|||
|
|
<Value>The ''{0}'' account is not granted with Modify permission on file ''{1}''. Please configure these permissions.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.CaptchaShowOnBlogCommentPage">
|
|||
|
|
<Value>Show on blog page (comments)</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.CaptchaShowOnBlogCommentPage.Hint">
|
|||
|
|
<Value>Check to show CAPTCHA on blog page when writing a comment.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.CaptchaShowOnNewsCommentPage">
|
|||
|
|
<Value>Show on news page (comments)</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.CaptchaShowOnNewsCommentPage.Hint">
|
|||
|
|
<Value>Check to show CAPTCHA on news page when writing a comment.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.CaptchaShowOnProductReviewPage">
|
|||
|
|
<Value>Show on product reviews page</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.CaptchaShowOnProductReviewPage.Hint">
|
|||
|
|
<Value>Check to show CAPTCHA on product reviews page when writing a review.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Order.Shipments.ShippedDate.NotYet">
|
|||
|
|
<Value>Not yet</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.ShippedDate.NotYet">
|
|||
|
|
<Value>Not yet</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.ShippedDate.Button">
|
|||
|
|
<Value>Set as shipped</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.Products">
|
|||
|
|
<Value>Products in shipment</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.List.StartDate.Hint">
|
|||
|
|
<Value>The start date (shipment creation date) for the search</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.List.EndDate.Hint">
|
|||
|
|
<Value>The end date (shipment creation date) for the search.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.IgnoreTierPrices">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.IgnoreTierPrices>Hint">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Common.Error">
|
|||
|
|
<Value>Error</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Common.Notification">
|
|||
|
|
<Value>Notification</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Common.Warning">
|
|||
|
|
<Value>Warning</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Checkout.TermsOfService">
|
|||
|
|
<Value>Terms of service</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Plugins.Editing">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Plugins.Editing.Hint">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Plugins.EditDetails">
|
|||
|
|
<Value>Edit plugin details</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Plugins.Fields.FriendlyName.Hint">
|
|||
|
|
<Value>The friendly name of the plugin.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Plugins.Fields.DisplayOrder.Hint">
|
|||
|
|
<Value>The display order of the plugin. 1 represents the top of the list.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Plugins.Fields.FriendlyName.Required">
|
|||
|
|
<Value>Friendly name is required.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Reviews.Helpfulness.YourOwnReview">
|
|||
|
|
<Value>You cannot vote for your own review</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Common.Delete.Selected">
|
|||
|
|
<Value>Delete (selected)</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="EUCookieLaw.Title">
|
|||
|
|
<Value>Your cookie settings</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="EUCookieLaw.Description">
|
|||
|
|
<Value>On 26 May 2011, the rules about cookies on websites changed. This site uses cookies. One or more of the cookies we use is essential for parts of this website to operate and has already been set. You may delete and block all cookies from this site, but parts of the site will not work. To find out more about cookies used on this website and how to delete cookies, see our privacy policy</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="EUCookieLaw.OK">
|
|||
|
|
<Value>OK</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="EUCookieLaw.Cancel">
|
|||
|
|
<Value>Cancel</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="EUCookieLaw.CannotBrowse">
|
|||
|
|
<Value>You cannot browse this site until you accept cookies</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Common.Hide">
|
|||
|
|
<Value>Hide</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Common.Show">
|
|||
|
|
<Value>Show</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.DisplayEuCookieLawWarning">
|
|||
|
|
<Value>Display EU cookie law warning</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.DisplayEuCookieLawWarning.Hint">
|
|||
|
|
<Value>Make the site EU cookie law compliant. When enabled, new customers will see an appropriate warning box.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Catalog.ProductTags.Fields.Name.Required">
|
|||
|
|
<Value>Please provide a name.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Catalog.ProductTags.Fields.Name.Hint">
|
|||
|
|
<Value>The name of the product tag.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Catalog.ProductTags.EditTagDetails">
|
|||
|
|
<Value>Edit product tag details</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ContactUs.EmailSubject">
|
|||
|
|
<Value>{0}. Contact us</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Languages.Resources.Description">
|
|||
|
|
<Value>To find text or a specific resource (by name), you can apply a filter via the funnel icon in the "Value" or "Resource name" column headers.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.AllSettings.Description">
|
|||
|
|
<Value>To find text or a specific setting (by name), you can apply a filter via the funnel icon in the "Value" or "Setting name" column headers.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Shipping.ByWeight.Fields.Country.Hint">
|
|||
|
|
<Value>If an asterisk is selected, then this shipping rate will apply to all customers, regardless of the country.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Tax.CountryStateZip.Fields.StateProvince.Hint">
|
|||
|
|
<Value>If an asterisk is selected, then this tax rate will apply to all customers from the given country, regardless of the state.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.MiniShoppingCartDisplayProducts">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.MiniShoppingCartDisplayProducts.Hint">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.MiniShoppingCartProductNumber">
|
|||
|
|
<Value>Mini-shopping cart product number</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.MiniShoppingCartProductNumber.Hint">
|
|||
|
|
<Value>Specify the maximum number of products which can be displayed in the mini-shopping cart block.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.ShowProductImagesInMiniShoppingCart">
|
|||
|
|
<Value>Show product images in mini-shopping cart</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.ShowProductImagesInMiniShoppingCart.Hint">
|
|||
|
|
<Value>Determines whether product images should be displayed in the mini-shopping cart block.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Media.MiniCartThumbPictureSize">
|
|||
|
|
<Value>Mini-shopping cart thumbnail image size</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Media.MiniCartThumbPictureSize.Hint">
|
|||
|
|
<Value>The default size (pixels) for product thumbnail images in the mini-shopping cart block.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ShoppingCart.Mini.ViewCart">
|
|||
|
|
<Value>Go to cart</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ShoppingCart.Mini.Quantity">
|
|||
|
|
<Value>Quantity</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ShoppingCart.Mini.UnitPrice">
|
|||
|
|
<Value>Unit price</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.ShowProductImagesOnShoppingCart.Hint">
|
|||
|
|
<Value>Determines whether product images should be displayed in your store shopping cart.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.ShowProductImagesOnWishList.Hint">
|
|||
|
|
<Value>Determines whether product images should be displayed on customer wishlists.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Polls.Voted">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Account.PasswordRecovery.Tooltip">
|
|||
|
|
<Value>Please enter your email address below. You will receive a link to reset your password.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.ProductSearchAutoCompleteEnabled">
|
|||
|
|
<Value>Search autocomplete enabled</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.ProductSearchAutoCompleteEnabled.Hint">
|
|||
|
|
<Value>Check to enabled autocomplete in the search box.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.ProductSearchAutoCompleteNumberOfProducts">
|
|||
|
|
<Value>Number of ''autocomplete'' products to display</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.ProductSearchAutoCompleteNumberOfProducts.Hint">
|
|||
|
|
<Value>Change number of visible results shown in autocomplete dropdown when searching.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ShoppingCart.FileUploaded">
|
|||
|
|
<Value>Your file successfully uploaded!</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.IncludeShortDescriptionInCompareProducts">
|
|||
|
|
<Value>Include short description in compare products</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.IncludeShortDescriptionInCompareProducts.Hint">
|
|||
|
|
<Value>Check to display product short description on the compare products page.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.IncludeFullDescriptionInCompareProducts">
|
|||
|
|
<Value>Include full description in compare products</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.IncludeFullDescriptionInCompareProducts.Hint">
|
|||
|
|
<Value>Check to display product full description on the compare products page.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Products.Compare.ShortDescription">
|
|||
|
|
<Value>Short description</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Products.Compare.FullDescription">
|
|||
|
|
<Value>Full description</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.AllowAnonymousUsersToEmailWishlist">
|
|||
|
|
<Value>Allow guests to email their wishlists</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.AllowAnonymousUsersToEmailWishlist.Hint">
|
|||
|
|
<Value>Check to allow guests to email their wishlists to friends.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.PageTitle">
|
|||
|
|
<Value>nopCommerce administration</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.PdfLogo.Hint">
|
|||
|
|
<Value>Image file that will be displayed in PDF order invoices. A small image is recommended.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.AllowOutOfStockItemsToBeAddedToWishlist">
|
|||
|
|
<Value>Allow ''out of stock'' items to be added to wishlist</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.ShoppingCart.AllowOutOfStockItemsToBeAddedToWishlist.Hint">
|
|||
|
|
<Value>Check to allow ''out of stock'' products to be added to wishlist.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.CompanyRequired">
|
|||
|
|
<Value>''Company'' required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.CompanyRequired.Hint">
|
|||
|
|
<Value>Check if ''Company'' is required.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.StreetAddressRequired">
|
|||
|
|
<Value>''Street address'' required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.StreetAddressRequired.Hint">
|
|||
|
|
<Value>Check if ''Street address'' is required.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.StreetAddress2Required">
|
|||
|
|
<Value>''Street address 2'' required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.StreetAddress2Required.Hint">
|
|||
|
|
<Value>Check if ''Street address 2'' is required.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.ZipPostalCodeRequired">
|
|||
|
|
<Value>''Zip / postal code'' required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.ZipPostalCodeRequired.Hint">
|
|||
|
|
<Value>Check if ''Zip / postal code'' is required.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.CityRequired">
|
|||
|
|
<Value>''City'' required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.CityRequired.Hint">
|
|||
|
|
<Value>Check if ''City'' is required.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.PhoneRequired">
|
|||
|
|
<Value>''Phone number'' required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.PhoneRequired.Hint">
|
|||
|
|
<Value>Check if ''Phone number'' is required.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.FaxRequired">
|
|||
|
|
<Value>''Fax number'' required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.CustomerUser.FaxRequired.Hint">
|
|||
|
|
<Value>Check if ''Fax number'' is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Account.Fields.Company.Required">
|
|||
|
|
<Value>Company name is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Account.Fields.StreetAddress.Required">
|
|||
|
|
<Value>Street address is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Account.Fields.StreetAddress2.Required">
|
|||
|
|
<Value>Street address 2 is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Account.Fields.ZipPostalCode.Required">
|
|||
|
|
<Value>Zip / postal code is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Account.Fields.City.Required">
|
|||
|
|
<Value>City is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Account.Fields.Phone.Required">
|
|||
|
|
<Value>Phone is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Account.Fields.Fax.Required">
|
|||
|
|
<Value>Fax is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.Fields.Company.Required">
|
|||
|
|
<Value>Company name is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.Fields.StreetAddress.Required">
|
|||
|
|
<Value>Street address is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.Fields.StreetAddress2.Required">
|
|||
|
|
<Value>Street address 2 is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.Fields.ZipPostalCode.Required">
|
|||
|
|
<Value>Zip / postal code is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.Fields.City.Required">
|
|||
|
|
<Value>City is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.Fields.Phone.Required">
|
|||
|
|
<Value>Phone is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.Fields.Fax.Required">
|
|||
|
|
<Value>Fax is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Fields.FriendlyName">
|
|||
|
|
<Value>Friendly name</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Fields.SystemName">
|
|||
|
|
<Value>System name</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Fields.DisplayOrder">
|
|||
|
|
<Value>Display order</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Configure">
|
|||
|
|
<Value>Configure</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Fields.IsActive">
|
|||
|
|
<Value>Is active</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Fields.WidgetZone">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Fields.WidgetZone.Hint">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Fields.PluginFriendlyName">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Fields.PluginFriendlyName.Hint">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Fields.DisplayOrder.Hint">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.AvailableWidgetPlugins">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.AvailableWidgetPlugins.FriendlyName">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.AvailableWidgetPlugins.AddToZone">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.AddNew">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Widgets">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Widgets.WidgetZone">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Widgets.PluginFriendlyName">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Widgets.DisplayOrder">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Added">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Deleted">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.Updated">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.EditWidgetDetails">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.HeadHtmlTag">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.AfterBodyStartHtmlTag">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.HeaderLinks">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.HeaderSelectors">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.HeaderMenu">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.BeforeContent">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.BeforeLeftSideColumn">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.AfterLeftSideColumn">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.BeforeMainColumn">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.AfterMainColumn">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.BeforeRightSideColumn">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.AfterRightSideColumn">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.AfterContent">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.Footer">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.BeforeBodyEndHtmlTag">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.MobileHeadHtmlTag">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.MobileAfterBodyStartHtmlTag">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.MobileHeaderLinks">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.MobileBeforeContent">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.MobileAfterContent">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.MobileFooter">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Cms.WidgetZone.MobileBeforeBodyEndHtmlTag">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.ChooseZone">
|
|||
|
|
<Value>Widget zone</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Widgets.ChooseZone.Hint">
|
|||
|
|
<Value>Choose widget zone</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings">
|
|||
|
|
<Value>Full-Text settings</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.Supported">
|
|||
|
|
<Value>Full-Text is supported by your database</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.NotSupported">
|
|||
|
|
<Value>Full-Text is not supported by your database</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.Enabled">
|
|||
|
|
<Value>Full-Text support has been enabled successfully.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.Disabled">
|
|||
|
|
<Value>Full-Text support has been disabled successfully.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.Enable">
|
|||
|
|
<Value>Enable Full-Text</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.Disable">
|
|||
|
|
<Value>Disable Full-Text</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.CurrenlyEnabled">
|
|||
|
|
<Value>Full-Text is enabled</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.CurrenlyDisabled">
|
|||
|
|
<Value>Full-Text is disabled</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Common.FulltextSearchMode.ExactMatch">
|
|||
|
|
<Value>Exact match (using CONTAINS with prefix_term)</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Common.FulltextSearchMode.Or">
|
|||
|
|
<Value>Using CONTAINS and OR with prefix_term</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Enums.Nop.Core.Domain.Common.FulltextSearchMode.And">
|
|||
|
|
<Value>Using CONTAINS and AND with prefix_term</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.SearchMode">
|
|||
|
|
<Value>Search mode</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.FullTextSettings.SearchMode.Hint">
|
|||
|
|
<Value>Choose Full-Text search mode</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.TotalWeight">
|
|||
|
|
<Value>Total weight</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.TotalWeight.Hint">
|
|||
|
|
<Value>Shipment total weight.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Order.Weight">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Feeds">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Feeds.BackToList">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Feeds.Configure">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Feeds.Fields.FriendlyName">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Promotions.Feeds.Fields.SystemName">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Sms.Clickatell.Fields.Enabled">
|
|||
|
|
<Value>Enabled</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Sms.Clickatell.Fields.Enabled.Hint">
|
|||
|
|
<Value>Check to enable SMS provider</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Sms.Verizon.Fields.Enabled">
|
|||
|
|
<Value>Enabled</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Sms.Verizon.Fields.Enabled.Hint">
|
|||
|
|
<Value>Check to enable SMS provider</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Account.AssociatedExternalAuth.YourAccountWillBeLinkedTo">
|
|||
|
|
<Value>Account Association: Your new user account will be linked to</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.EncryptionKey.Changed">
|
|||
|
|
<Value>Encryption key changed</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.EncryptionKey.TooShort">
|
|||
|
|
<Value>Encryption private key must be 16 characters long</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.EncryptionKey.TheSame">
|
|||
|
|
<Value>The new encryption key is the same as the old one</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.SSLSettings">
|
|||
|
|
<Value>SSL settings</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.GeneralCommon.SSLSettings.Hint">
|
|||
|
|
<Value>SSL settings can also be changed in web.config file.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Polls.Fields.AllowGuestsToVote">
|
|||
|
|
<Value>Allow guests to vote</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.ContentManagement.Polls.Fields.AllowGuestsToVote.Hint">
|
|||
|
|
<Value>Check to allow guests to vote.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.RecurringPayments.Fields.ID">
|
|||
|
|
<Value>ID</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Common.FileUploader.Upload">
|
|||
|
|
<Value>Upload a file</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Common.FileUploader.DropFiles">
|
|||
|
|
<Value>Drop files here to upload</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Common.FileUploader.Cancel">
|
|||
|
|
<Value>Cancel</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Common.FileUploader.Failed">
|
|||
|
|
<Value>Failed</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.ManufacturersBlockItemsToDisplay">
|
|||
|
|
<Value>Number of manufacturers to display</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.ManufacturersBlockItemsToDisplay.Hint">
|
|||
|
|
<Value>Enter the number of manufacturers to display in manufacturer navigation block.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Products.Tags.Popular.ViewAll">
|
|||
|
|
<Value>View all</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="PageTitle.AllProductTags">
|
|||
|
|
<Value>All product tags</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Products.Tags.All">
|
|||
|
|
<Value>All product tags</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Fields.OrderWeight">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.Products.ItemWeight">
|
|||
|
|
<Value>Item weight</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Shipments.Products.ItemDimensions">
|
|||
|
|
<Value>Item dimensions</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Orders.Products.SKU">
|
|||
|
|
<Value>SKU</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Catalog.Products.Variants.Fields.AllowedQuantities">
|
|||
|
|
<Value>Allowed quantities</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Catalog.Products.Variants.Fields.AllowedQuantities.Hint">
|
|||
|
|
<Value>Enter a comma separated list of quantities you want this product variant to be restricted to. Instead of a quantity textbox that allows them to enter any quantity, they will receive a dropdown list of the values you enter here.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ShoppingCart.AllowedQuantities">
|
|||
|
|
<Value>Allowed quantities for this product: {0}</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Maintenance.DeleteAbandonedCarts">
|
|||
|
|
<Value>Deleting abandoned shopping carts</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Maintenance.DeleteAbandonedCarts.OlderThan">
|
|||
|
|
<Value>Created before</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Maintenance.DeleteAbandonedCarts.OlderThan.Hint">
|
|||
|
|
<Value>Delete shopping cart items created before the specified date.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.System.Maintenance.DeleteAbandonedCarts.TotalDeleted">
|
|||
|
|
<Value>{0} items were deleted</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.ShowProductImagesInSearchAutoComplete">
|
|||
|
|
<Value>Show product images in autocomplete box</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.Settings.Catalog.ShowProductImagesInSearchAutoComplete.Hint">
|
|||
|
|
<Value>Determines whether product images should be displayed in the autocomplete search box.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Configuration.ActivityLog.ActivityLog.Fields.CustomerEmail.Hint">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.ActivityLog">
|
|||
|
|
<Value>Activity Log</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.ActivityLog.ActivityLogType">
|
|||
|
|
<Value>Activity Log Type</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.ActivityLog.Comment">
|
|||
|
|
<Value>Comment</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Admin.Customers.Customers.ActivityLog.CreatedOn">
|
|||
|
|
<Value>Created on</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Shipping.ByWeight.Fields.StateProvince">
|
|||
|
|
<Value>State / province</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Shipping.ByWeight.Fields.StateProvince.Hint">
|
|||
|
|
<Value>If an asterisk is selected, then this shipping rate will apply to all customers from the given country, regardless of the state.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Shipping.ByWeight.Fields.Zip">
|
|||
|
|
<Value>Zip</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Plugins.Shipping.ByWeight.Fields.Zip.Hint">
|
|||
|
|
<Value>Zip / postal code. If zip is empty, then this shipping rate will apply to all customers from the given country or state, regardless of the zip code.</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Order.PurchaseOrderNumber">
|
|||
|
|
<Value>Purchase Order Number</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="PDFInvoice.PurchaseOrderNumber">
|
|||
|
|
<Value>Purchase Order Number: {0}</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ActivityLog.PlaceOrder">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ActivityLog.PublicStore.PlaceOrder">
|
|||
|
|
<Value>Placed a new order (ID = {0})</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ActivityLog.PublicStore.ViewCategory">
|
|||
|
|
<Value>Public store. Viewed a category details page (''{0}'')</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ActivityLog.PublicStore.ViewManufacturer">
|
|||
|
|
<Value>Public store. Viewed a manufacturer details page (''{0}'')</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="ActivityLog.PublicStore.ViewProduct">
|
|||
|
|
<Value>Public store. Viewed a product details page (''{0}'')</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Payment.ExpireMonth.Required">
|
|||
|
|
<Value>Expire month is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="Payment.ExpireYear.Required">
|
|||
|
|
<Value>Expire year is required</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="PageTitle.Manufactures">
|
|||
|
|
<Value></Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
<LocaleResource Name="PageTitle.Manufacturers">
|
|||
|
|
<Value>Manufacturers</Value>
|
|||
|
|
</LocaleResource>
|
|||
|
|
</Language>
|
|||
|
|
'
|
|||
|
|
|
|||
|
|
CREATE TABLE #LocaleStringResourceTmp
|
|||
|
|
(
|
|||
|
|
[ResourceName] [nvarchar](200) NOT NULL,
|
|||
|
|
[ResourceValue] [nvarchar](max) NOT NULL
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
INSERT INTO #LocaleStringResourceTmp (ResourceName, ResourceValue)
|
|||
|
|
SELECT nref.value('@Name', 'nvarchar(200)'), nref.value('Value[1]', 'nvarchar(MAX)')
|
|||
|
|
FROM @resources.nodes('//Language/LocaleResource') AS R(nref)
|
|||
|
|
|
|||
|
|
--do it for each existing language
|
|||
|
|
DECLARE @ExistingLanguageID int
|
|||
|
|
DECLARE cur_existinglanguage CURSOR FOR
|
|||
|
|
SELECT [ID]
|
|||
|
|
FROM [Language]
|
|||
|
|
OPEN cur_existinglanguage
|
|||
|
|
FETCH NEXT FROM cur_existinglanguage INTO @ExistingLanguageID
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @ResourceName nvarchar(200)
|
|||
|
|
DECLARE @ResourceValue nvarchar(MAX)
|
|||
|
|
DECLARE cur_localeresource CURSOR FOR
|
|||
|
|
SELECT ResourceName, ResourceValue
|
|||
|
|
FROM #LocaleStringResourceTmp
|
|||
|
|
OPEN cur_localeresource
|
|||
|
|
FETCH NEXT FROM cur_localeresource INTO @ResourceName, @ResourceValue
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
IF (EXISTS (SELECT 1 FROM [LocaleStringResource] WHERE LanguageID=@ExistingLanguageID AND ResourceName=@ResourceName))
|
|||
|
|
BEGIN
|
|||
|
|
UPDATE [LocaleStringResource]
|
|||
|
|
SET [ResourceValue]=@ResourceValue
|
|||
|
|
WHERE LanguageID=@ExistingLanguageID AND ResourceName=@ResourceName
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
INSERT INTO [LocaleStringResource]
|
|||
|
|
(
|
|||
|
|
[LanguageId],
|
|||
|
|
[ResourceName],
|
|||
|
|
[ResourceValue]
|
|||
|
|
)
|
|||
|
|
VALUES
|
|||
|
|
(
|
|||
|
|
@ExistingLanguageID,
|
|||
|
|
@ResourceName,
|
|||
|
|
@ResourceValue
|
|||
|
|
)
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
IF (@ResourceValue is null or @ResourceValue = '')
|
|||
|
|
BEGIN
|
|||
|
|
DELETE [LocaleStringResource]
|
|||
|
|
WHERE LanguageID=@ExistingLanguageID AND ResourceName=@ResourceName
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
FETCH NEXT FROM cur_localeresource INTO @ResourceName, @ResourceValue
|
|||
|
|
END
|
|||
|
|
CLOSE cur_localeresource
|
|||
|
|
DEALLOCATE cur_localeresource
|
|||
|
|
|
|||
|
|
|
|||
|
|
--fetch next language identifier
|
|||
|
|
FETCH NEXT FROM cur_existinglanguage INTO @ExistingLanguageID
|
|||
|
|
END
|
|||
|
|
CLOSE cur_existinglanguage
|
|||
|
|
DEALLOCATE cur_existinglanguage
|
|||
|
|
|
|||
|
|
DROP TABLE #LocaleStringResourceTmp
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Update stored procedure according to the new search parameters (return filterable specs)
|
|||
|
|
IF EXISTS (
|
|||
|
|
SELECT *
|
|||
|
|
FROM sys.objects
|
|||
|
|
WHERE object_id = OBJECT_ID(N'[ProductLoadAllPaged]') AND OBJECTPROPERTY(object_id,N'IsProcedure') = 1)
|
|||
|
|
DROP PROCEDURE [ProductLoadAllPaged]
|
|||
|
|
GO
|
|||
|
|
CREATE PROCEDURE [ProductLoadAllPaged]
|
|||
|
|
(
|
|||
|
|
@CategoryIds nvarchar(MAX) = null, --a list of category IDs (comma-separated list). e.g. 1,2,3
|
|||
|
|
@ManufacturerId int = 0,
|
|||
|
|
@ProductTagId int = 0,
|
|||
|
|
@FeaturedProducts bit = null, --0 featured only , 1 not featured only, null - load all products
|
|||
|
|
@PriceMin decimal(18, 4) = null,
|
|||
|
|
@PriceMax decimal(18, 4) = null,
|
|||
|
|
@Keywords nvarchar(MAX) = null,
|
|||
|
|
@SearchDescriptions bit = 0,
|
|||
|
|
@FilteredSpecs nvarchar(MAX) = null, --filter by attributes (comma-separated list). e.g. 14,15,16
|
|||
|
|
@LanguageId int = 0,
|
|||
|
|
@OrderBy int = 0, --0 position, 5 - Name: A to Z, 6 - Name: Z to A, 10 - Price: Low to High, 11 - Price: High to Low, 15 - creation date
|
|||
|
|
@PageIndex int = 0,
|
|||
|
|
@PageSize int = 2147483644,
|
|||
|
|
@ShowHidden bit = 0,
|
|||
|
|
@LoadFilterableSpecificationAttributeOptionIds bit = 0, --a value indicating whether we should load the specification attribute option identifiers applied to loaded products (all pages)
|
|||
|
|
@FilterableSpecificationAttributeOptionIds nvarchar(MAX) = null OUTPUT, --the specification attribute option identifiers applied to loaded products (all pages). returned as a comma separated list of identifiers
|
|||
|
|
@TotalRecords int = null OUTPUT
|
|||
|
|
)
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
|
|||
|
|
/* Products that filtered by keywords */
|
|||
|
|
CREATE TABLE #KeywordProducts
|
|||
|
|
(
|
|||
|
|
[ProductId] int NOT NULL
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
DECLARE
|
|||
|
|
@SearchKeywords bit,
|
|||
|
|
@sql nvarchar(max),
|
|||
|
|
@sql_orderby nvarchar(max)
|
|||
|
|
|
|||
|
|
SET NOCOUNT ON
|
|||
|
|
|
|||
|
|
--filter by keywords
|
|||
|
|
IF ISNULL(@Keywords, '') != ''
|
|||
|
|
BEGIN
|
|||
|
|
SET @SearchKeywords = 1
|
|||
|
|
|
|||
|
|
SET @Keywords = isnull(@Keywords, '')
|
|||
|
|
SET @Keywords = '%' + rtrim(ltrim(@Keywords)) + '%'
|
|||
|
|
|
|||
|
|
SET @sql = '
|
|||
|
|
INSERT INTO #KeywordProducts ([ProductId])
|
|||
|
|
SELECT p.Id
|
|||
|
|
FROM Product p with (NOLOCK)
|
|||
|
|
WHERE PATINDEX(@Keywords, p.name) > 0
|
|||
|
|
UNION
|
|||
|
|
SELECT pv.ProductId
|
|||
|
|
FROM ProductVariant pv with (NOLOCK)
|
|||
|
|
WHERE PATINDEX(@Keywords, pv.name) > 0
|
|||
|
|
UNION
|
|||
|
|
SELECT pv.ProductId
|
|||
|
|
FROM ProductVariant pv with (NOLOCK)
|
|||
|
|
WHERE PATINDEX(@Keywords, pv.sku) > 0
|
|||
|
|
UNION
|
|||
|
|
SELECT lp.EntityId
|
|||
|
|
FROM LocalizedProperty lp with (NOLOCK)
|
|||
|
|
WHERE
|
|||
|
|
lp.LocaleKeyGroup = N''Product''
|
|||
|
|
AND lp.LanguageId = ' + ISNULL(CAST(@LanguageId AS nvarchar(max)), '0') + '
|
|||
|
|
AND lp.LocaleKey = N''Name''
|
|||
|
|
AND PATINDEX(@Keywords, lp.LocaleValue) > 0'
|
|||
|
|
|
|||
|
|
IF @SearchDescriptions = 1 SET @sql = @sql + '
|
|||
|
|
UNION
|
|||
|
|
SELECT p.Id
|
|||
|
|
FROM Product p with (NOLOCK)
|
|||
|
|
WHERE PATINDEX(@Keywords, p.ShortDescription) > 0
|
|||
|
|
UNION
|
|||
|
|
SELECT p.Id
|
|||
|
|
FROM Product p with (NOLOCK)
|
|||
|
|
WHERE PATINDEX(@Keywords, p.FullDescription) > 0
|
|||
|
|
UNION
|
|||
|
|
SELECT pv.ProductId
|
|||
|
|
FROM ProductVariant pv with (NOLOCK)
|
|||
|
|
WHERE PATINDEX(@Keywords, pv.Description) > 0
|
|||
|
|
UNION
|
|||
|
|
SELECT lp.EntityId
|
|||
|
|
FROM LocalizedProperty lp with (NOLOCK)
|
|||
|
|
WHERE
|
|||
|
|
lp.LocaleKeyGroup = N''Product''
|
|||
|
|
AND lp.LanguageId = ' + ISNULL(CAST(@LanguageId AS nvarchar(max)), '0') + '
|
|||
|
|
AND lp.LocaleKey = N''ShortDescription''
|
|||
|
|
AND PATINDEX(@Keywords, lp.LocaleValue) > 0
|
|||
|
|
UNION
|
|||
|
|
SELECT lp.EntityId
|
|||
|
|
FROM LocalizedProperty lp with (NOLOCK)
|
|||
|
|
WHERE
|
|||
|
|
lp.LocaleKeyGroup = N''Product''
|
|||
|
|
AND lp.LanguageId = ' + ISNULL(CAST(@LanguageId AS nvarchar(max)), '0') + '
|
|||
|
|
AND lp.LocaleKey = N''FullDescription''
|
|||
|
|
AND PATINDEX(@Keywords, lp.LocaleValue) > 0'
|
|||
|
|
|
|||
|
|
--PRINT (@sql)
|
|||
|
|
EXEC sp_executesql @sql, N'@Keywords nvarchar(MAX)', @Keywords
|
|||
|
|
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
SET @SearchKeywords = 0
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--filter by category IDs
|
|||
|
|
SET @CategoryIds = isnull(@CategoryIds, '')
|
|||
|
|
CREATE TABLE #FilteredCategoryIds
|
|||
|
|
(
|
|||
|
|
CategoryId int not null
|
|||
|
|
)
|
|||
|
|
INSERT INTO #FilteredCategoryIds (CategoryId)
|
|||
|
|
SELECT CAST(data as int) FROM [nop_splitstring_to_table](@CategoryIds, ',')
|
|||
|
|
DECLARE @CategoryIdsCount int
|
|||
|
|
SET @CategoryIdsCount = (SELECT COUNT(1) FROM #FilteredCategoryIds)
|
|||
|
|
|
|||
|
|
--filter by attributes
|
|||
|
|
SET @FilteredSpecs = isnull(@FilteredSpecs, '')
|
|||
|
|
CREATE TABLE #FilteredSpecs
|
|||
|
|
(
|
|||
|
|
SpecificationAttributeOptionId int not null
|
|||
|
|
)
|
|||
|
|
INSERT INTO #FilteredSpecs (SpecificationAttributeOptionId)
|
|||
|
|
SELECT CAST(data as int) FROM [nop_splitstring_to_table](@FilteredSpecs, ',')
|
|||
|
|
DECLARE @SpecAttributesCount int
|
|||
|
|
SET @SpecAttributesCount = (SELECT COUNT(1) FROM #FilteredSpecs)
|
|||
|
|
|
|||
|
|
--paging
|
|||
|
|
DECLARE @PageLowerBound int
|
|||
|
|
DECLARE @PageUpperBound int
|
|||
|
|
DECLARE @RowsToReturn int
|
|||
|
|
SET @RowsToReturn = @PageSize * (@PageIndex + 1)
|
|||
|
|
SET @PageLowerBound = @PageSize * @PageIndex
|
|||
|
|
SET @PageUpperBound = @PageLowerBound + @PageSize + 1
|
|||
|
|
|
|||
|
|
CREATE TABLE #DisplayOrderTmp
|
|||
|
|
(
|
|||
|
|
[Id] int IDENTITY (1, 1) NOT NULL,
|
|||
|
|
[ProductId] int NOT NULL
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
SET @sql = '
|
|||
|
|
INSERT INTO #DisplayOrderTmp ([ProductId])
|
|||
|
|
SELECT p.Id
|
|||
|
|
FROM
|
|||
|
|
Product p with (NOLOCK)'
|
|||
|
|
|
|||
|
|
IF @CategoryIdsCount > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
LEFT JOIN Product_Category_Mapping pcm with (NOLOCK)
|
|||
|
|
ON p.Id = pcm.ProductId'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
IF @ManufacturerId > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
LEFT JOIN Product_Manufacturer_Mapping pmm with (NOLOCK)
|
|||
|
|
ON p.Id = pmm.ProductId'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
IF ISNULL(@ProductTagId, 0) != 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
LEFT JOIN Product_ProductTag_Mapping pptm with (NOLOCK)
|
|||
|
|
ON p.Id = pptm.Product_Id'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
IF @ShowHidden = 0
|
|||
|
|
OR @PriceMin > 0
|
|||
|
|
OR @PriceMax > 0
|
|||
|
|
OR @OrderBy = 10 /* Price: Low to High */
|
|||
|
|
OR @OrderBy = 11 /* Price: High to Low */
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
LEFT JOIN ProductVariant pv with (NOLOCK)
|
|||
|
|
ON p.Id = pv.ProductId'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--searching by keywords
|
|||
|
|
IF @SearchKeywords = 1
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
JOIN #KeywordProducts kp
|
|||
|
|
ON p.Id = kp.ProductId'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
WHERE
|
|||
|
|
p.Deleted = 0'
|
|||
|
|
|
|||
|
|
--filter by category
|
|||
|
|
IF @CategoryIdsCount > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pcm.CategoryId IN (SELECT CategoryId FROM #FilteredCategoryIds)'
|
|||
|
|
|
|||
|
|
IF @FeaturedProducts IS NOT NULL
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pcm.IsFeaturedProduct = ' + CAST(@FeaturedProducts AS nvarchar(max))
|
|||
|
|
END
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--filter by manufacturer
|
|||
|
|
IF @ManufacturerId > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pmm.ManufacturerId = ' + CAST(@ManufacturerId AS nvarchar(max))
|
|||
|
|
|
|||
|
|
IF @FeaturedProducts IS NOT NULL
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pmm.IsFeaturedProduct = ' + CAST(@FeaturedProducts AS nvarchar(max))
|
|||
|
|
END
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--filter by product tag
|
|||
|
|
IF ISNULL(@ProductTagId, 0) != 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pptm.ProductTag_Id = ' + CAST(@ProductTagId AS nvarchar(max))
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
IF @ShowHidden = 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND p.Published = 1
|
|||
|
|
AND pv.Published = 1
|
|||
|
|
AND pv.Deleted = 0
|
|||
|
|
AND (getutcdate() BETWEEN ISNULL(pv.AvailableStartDateTimeUtc, ''1/1/1900'') and ISNULL(pv.AvailableEndDateTimeUtc, ''1/1/2999''))'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--min price
|
|||
|
|
IF @PriceMin > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND (
|
|||
|
|
(
|
|||
|
|
--special price (specified price and valid date range)
|
|||
|
|
(pv.SpecialPrice IS NOT NULL AND (getutcdate() BETWEEN isnull(pv.SpecialPriceStartDateTimeUtc, ''1/1/1900'') AND isnull(pv.SpecialPriceEndDateTimeUtc, ''1/1/2999'')))
|
|||
|
|
AND
|
|||
|
|
(pv.SpecialPrice >= ' + CAST(@PriceMin AS nvarchar(max)) + ')
|
|||
|
|
)
|
|||
|
|
OR
|
|||
|
|
(
|
|||
|
|
--regular price (price isnt specified or date range isnt valid)
|
|||
|
|
(pv.SpecialPrice IS NULL OR (getutcdate() NOT BETWEEN isnull(pv.SpecialPriceStartDateTimeUtc, ''1/1/1900'') AND isnull(pv.SpecialPriceEndDateTimeUtc, ''1/1/2999'')))
|
|||
|
|
AND
|
|||
|
|
(pv.Price >= ' + CAST(@PriceMin AS nvarchar(max)) + ')
|
|||
|
|
)
|
|||
|
|
)'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--max price
|
|||
|
|
IF @PriceMax > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND (
|
|||
|
|
(
|
|||
|
|
--special price (specified price and valid date range)
|
|||
|
|
(pv.SpecialPrice IS NOT NULL AND (getutcdate() BETWEEN isnull(pv.SpecialPriceStartDateTimeUtc, ''1/1/1900'') AND isnull(pv.SpecialPriceEndDateTimeUtc, ''1/1/2999'')))
|
|||
|
|
AND
|
|||
|
|
(pv.SpecialPrice <= ' + CAST(@PriceMax AS nvarchar(max)) + ')
|
|||
|
|
)
|
|||
|
|
OR
|
|||
|
|
(
|
|||
|
|
--regular price (price isnt specified or date range isnt valid)
|
|||
|
|
(pv.SpecialPrice IS NULL OR (getutcdate() NOT BETWEEN isnull(pv.SpecialPriceStartDateTimeUtc, ''1/1/1900'') AND isnull(pv.SpecialPriceEndDateTimeUtc, ''1/1/2999'')))
|
|||
|
|
AND
|
|||
|
|
(pv.Price <= ' + CAST(@PriceMax AS nvarchar(max)) + ')
|
|||
|
|
)
|
|||
|
|
)'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--filter by specs
|
|||
|
|
IF @SpecAttributesCount > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND NOT EXISTS (
|
|||
|
|
SELECT 1
|
|||
|
|
FROM
|
|||
|
|
#FilteredSpecs [fs]
|
|||
|
|
WHERE
|
|||
|
|
[fs].SpecificationAttributeOptionId NOT IN (
|
|||
|
|
SELECT psam.SpecificationAttributeOptionId
|
|||
|
|
FROM Product_SpecificationAttribute_Mapping psam
|
|||
|
|
WHERE psam.AllowFiltering = 1 AND psam.ProductId = p.Id
|
|||
|
|
)
|
|||
|
|
)'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--sorting
|
|||
|
|
SET @sql_orderby = ''
|
|||
|
|
IF @OrderBy = 5 /* Name: A to Z */
|
|||
|
|
SET @sql_orderby = ' p.[Name] ASC'
|
|||
|
|
ELSE IF @OrderBy = 6 /* Name: Z to A */
|
|||
|
|
SET @sql_orderby = ' p.[Name] DESC'
|
|||
|
|
ELSE IF @OrderBy = 10 /* Price: Low to High */
|
|||
|
|
SET @sql_orderby = ' pv.[Price] ASC'
|
|||
|
|
ELSE IF @OrderBy = 11 /* Price: High to Low */
|
|||
|
|
SET @sql_orderby = ' pv.[Price] DESC'
|
|||
|
|
ELSE IF @OrderBy = 15 /* creation date */
|
|||
|
|
SET @sql_orderby = ' p.[CreatedOnUtc] DESC'
|
|||
|
|
ELSE /* default sorting, 0 (position) */
|
|||
|
|
BEGIN
|
|||
|
|
--category position (display order)
|
|||
|
|
IF @CategoryIdsCount > 0 SET @sql_orderby = ' pcm.DisplayOrder ASC'
|
|||
|
|
|
|||
|
|
--manufacturer position (display order)
|
|||
|
|
IF @ManufacturerId > 0
|
|||
|
|
BEGIN
|
|||
|
|
IF LEN(@sql_orderby) > 0 SET @sql_orderby = @sql_orderby + ', '
|
|||
|
|
SET @sql_orderby = @sql_orderby + ' pmm.DisplayOrder ASC'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--name
|
|||
|
|
IF LEN(@sql_orderby) > 0 SET @sql_orderby = @sql_orderby + ', '
|
|||
|
|
SET @sql_orderby = @sql_orderby + ' p.[Name] ASC'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
ORDER BY' + @sql_orderby
|
|||
|
|
|
|||
|
|
--PRINT (@sql)
|
|||
|
|
EXEC sp_executesql @sql
|
|||
|
|
|
|||
|
|
DROP TABLE #FilteredCategoryIds
|
|||
|
|
DROP TABLE #FilteredSpecs
|
|||
|
|
|
|||
|
|
CREATE TABLE #PageIndex
|
|||
|
|
(
|
|||
|
|
[IndexId] int IDENTITY (1, 1) NOT NULL,
|
|||
|
|
[ProductId] int NOT NULL
|
|||
|
|
)
|
|||
|
|
INSERT INTO #PageIndex ([ProductId])
|
|||
|
|
SELECT ProductId
|
|||
|
|
FROM #DisplayOrderTmp
|
|||
|
|
GROUP BY ProductId
|
|||
|
|
ORDER BY min([Id])
|
|||
|
|
|
|||
|
|
--total records
|
|||
|
|
SET @TotalRecords = @@rowcount
|
|||
|
|
|
|||
|
|
DROP TABLE #DisplayOrderTmp
|
|||
|
|
|
|||
|
|
--prepare filterable specification attribute option identifier (if requested)
|
|||
|
|
IF @LoadFilterableSpecificationAttributeOptionIds = 1
|
|||
|
|
BEGIN
|
|||
|
|
CREATE TABLE #FilterableSpecs
|
|||
|
|
(
|
|||
|
|
[SpecificationAttributeOptionId] int NOT NULL
|
|||
|
|
)
|
|||
|
|
INSERT INTO #FilterableSpecs ([SpecificationAttributeOptionId])
|
|||
|
|
SELECT DISTINCT [psam].SpecificationAttributeOptionId
|
|||
|
|
FROM [Product_SpecificationAttribute_Mapping] [psam]
|
|||
|
|
WHERE [psam].[AllowFiltering] = 1
|
|||
|
|
AND [psam].[ProductId] IN (SELECT [pi].ProductId FROM #PageIndex [pi])
|
|||
|
|
|
|||
|
|
--build comma separated list of filterable identifiers
|
|||
|
|
SELECT @FilterableSpecificationAttributeOptionIds = COALESCE(@FilterableSpecificationAttributeOptionIds + ',' , '') + CAST(SpecificationAttributeOptionId as nvarchar(1000))
|
|||
|
|
FROM #FilterableSpecs
|
|||
|
|
|
|||
|
|
DROP TABLE #FilterableSpecs
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--return products
|
|||
|
|
SELECT TOP (@RowsToReturn)
|
|||
|
|
p.*
|
|||
|
|
FROM
|
|||
|
|
#PageIndex [pi]
|
|||
|
|
INNER JOIN Product p on p.Id = [pi].[ProductId]
|
|||
|
|
WHERE
|
|||
|
|
[pi].IndexId > @PageLowerBound AND
|
|||
|
|
[pi].IndexId < @PageUpperBound
|
|||
|
|
ORDER BY
|
|||
|
|
[pi].IndexId
|
|||
|
|
|
|||
|
|
DROP TABLE #PageIndex
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[nop_splitstring_to_table]') AND [type] in (N'FN', N'IF', N'TF'))
|
|||
|
|
DROP FUNCTION [nop_splitstring_to_table]
|
|||
|
|
GO
|
|||
|
|
CREATE FUNCTION [dbo].[nop_splitstring_to_table]
|
|||
|
|
(
|
|||
|
|
@string NVARCHAR(MAX),
|
|||
|
|
@delimiter CHAR(1)
|
|||
|
|
)
|
|||
|
|
RETURNS @output TABLE(
|
|||
|
|
data NVARCHAR(MAX)
|
|||
|
|
)
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @start INT, @end INT
|
|||
|
|
SELECT @start = 1, @end = CHARINDEX(@delimiter, @string)
|
|||
|
|
|
|||
|
|
WHILE @start < LEN(@string) + 1 BEGIN
|
|||
|
|
IF @end = 0
|
|||
|
|
SET @end = LEN(@string) + 1
|
|||
|
|
|
|||
|
|
INSERT INTO @output (data)
|
|||
|
|
VALUES(SUBSTRING(@string, @start, @end - @start))
|
|||
|
|
SET @start = @end + 1
|
|||
|
|
SET @end = CHARINDEX(@delimiter, @string, @start)
|
|||
|
|
END
|
|||
|
|
RETURN
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Add 'StartDateUtc' and 'EndDateUtc' columns to [News] table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[News]') and NAME='StartDateUtc')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [News]
|
|||
|
|
ADD [StartDateUtc] datetime NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[News]') and NAME='EndDateUtc')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [News]
|
|||
|
|
ADD [EndDateUtc] datetime NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
--Add 'StartDateUtc' and 'EndDateUtc' columns to [BlogPost] table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[BlogPost]') and NAME='StartDateUtc')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [BlogPost]
|
|||
|
|
ADD [StartDateUtc] datetime NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[BlogPost]') and NAME='EndDateUtc')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [BlogPost]
|
|||
|
|
ADD [EndDateUtc] datetime NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'customersettings.defaultpasswordformat')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'customersettings.defaultpasswordformat', N'Hashed')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'commonsettings.displayjavascriptdisabledwarning')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'commonsettings.displayjavascriptdisabledwarning', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'captchasettings.showonblogcommentpage')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'captchasettings.showonblogcommentpage', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'captchasettings.showonnewscommentpage')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'captchasettings.showonnewscommentpage', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'captchasettings.showonproductreviewpage')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'captchasettings.showonproductreviewpage', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
--Add 'CreatedOnUtc' column to [Shipment] table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[Shipment]') and NAME='CreatedOnUtc')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [Shipment]
|
|||
|
|
ADD [CreatedOnUtc] datetime NULL
|
|||
|
|
|
|||
|
|
exec('UPDATE [Shipment] SET [CreatedOnUtc] = [ShippedDateUtc]')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
ALTER TABLE [Shipment] ALTER COLUMN [CreatedOnUtc] datetime NOT NULL
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
--Created shipments should not be immediately shipped
|
|||
|
|
ALTER TABLE [Shipment] ALTER COLUMN [ShippedDateUtc] datetime NULL
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Store comment count in [News] entity/table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[News]') and NAME='ApprovedCommentCount')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [News]
|
|||
|
|
ADD [ApprovedCommentCount] int NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[News]') and NAME='NotApprovedCommentCount')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [News]
|
|||
|
|
ADD [NotApprovedCommentCount] int NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
EXEC('
|
|||
|
|
DECLARE @NewsId int
|
|||
|
|
DECLARE cur_news CURSOR FOR
|
|||
|
|
SELECT [Id]
|
|||
|
|
FROM [News]
|
|||
|
|
ORDER BY [Id]
|
|||
|
|
OPEN cur_news
|
|||
|
|
FETCH NEXT FROM cur_news INTO @NewsId
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @ApprovedCommentCount int
|
|||
|
|
DECLARE @NotApprovedCommentCount int
|
|||
|
|
SET @ApprovedCommentCount = null -- clear cache (variable scope)
|
|||
|
|
SET @NotApprovedCommentCount = null -- clear cache (variable scope)
|
|||
|
|
|
|||
|
|
|
|||
|
|
SELECT @ApprovedCommentCount = COUNT(1) FROM [NewsComment] as [nc]
|
|||
|
|
INNER JOIN [CustomerContent] AS [cc] ON [nc].[Id] = [cc].[Id]
|
|||
|
|
WHERE [nc].[NewsItemId] = @NewsId AND [cc].[IsApproved]=1
|
|||
|
|
|
|||
|
|
SELECT @NotApprovedCommentCount = COUNT(1) FROM [NewsComment] as [nc]
|
|||
|
|
INNER JOIN [CustomerContent] AS [cc] ON [nc].[Id] = [cc].[Id]
|
|||
|
|
WHERE [nc].[NewsItemId] = @NewsId AND [cc].[IsApproved]=0
|
|||
|
|
|
|||
|
|
UPDATE [News]
|
|||
|
|
SET [ApprovedCommentCount] = @ApprovedCommentCount,
|
|||
|
|
[NotApprovedCommentCount] = @NotApprovedCommentCount
|
|||
|
|
WHERE [Id] = @NewsId
|
|||
|
|
|
|||
|
|
--fetch next identifier
|
|||
|
|
FETCH NEXT FROM cur_news INTO @NewsId
|
|||
|
|
END
|
|||
|
|
CLOSE cur_news
|
|||
|
|
DEALLOCATE cur_news
|
|||
|
|
')
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
ALTER TABLE [News] ALTER COLUMN [ApprovedCommentCount] int NOT NULL
|
|||
|
|
GO
|
|||
|
|
ALTER TABLE [News] ALTER COLUMN [NotApprovedCommentCount] int NOT NULL
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Store comment count in [BlogPost] entity/table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[BlogPost]') and NAME='ApprovedCommentCount')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [BlogPost]
|
|||
|
|
ADD [ApprovedCommentCount] int NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[BlogPost]') and NAME='NotApprovedCommentCount')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [BlogPost]
|
|||
|
|
ADD [NotApprovedCommentCount] int NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
EXEC('
|
|||
|
|
DECLARE @BlogPostId int
|
|||
|
|
DECLARE cur_blogpost CURSOR FOR
|
|||
|
|
SELECT [Id]
|
|||
|
|
FROM [BlogPost]
|
|||
|
|
ORDER BY [Id]
|
|||
|
|
OPEN cur_blogpost
|
|||
|
|
FETCH NEXT FROM cur_blogpost INTO @BlogPostId
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @ApprovedCommentCount int
|
|||
|
|
DECLARE @NotApprovedCommentCount int
|
|||
|
|
SET @ApprovedCommentCount = null -- clear cache (variable scope)
|
|||
|
|
SET @NotApprovedCommentCount = null -- clear cache (variable scope)
|
|||
|
|
|
|||
|
|
|
|||
|
|
SELECT @ApprovedCommentCount = COUNT(1) FROM [BlogComment] as [nc]
|
|||
|
|
INNER JOIN [CustomerContent] AS [cc] ON [nc].[Id] = [cc].[Id]
|
|||
|
|
WHERE [nc].[BlogPostId] = @BlogPostId AND [cc].[IsApproved]=1
|
|||
|
|
|
|||
|
|
SELECT @NotApprovedCommentCount = COUNT(1) FROM [BlogComment] as [nc]
|
|||
|
|
INNER JOIN [CustomerContent] AS [cc] ON [nc].[Id] = [cc].[Id]
|
|||
|
|
WHERE [nc].[BlogPostId] = @BlogPostId AND [cc].[IsApproved]=0
|
|||
|
|
|
|||
|
|
UPDATE [BlogPost]
|
|||
|
|
SET [ApprovedCommentCount] = @ApprovedCommentCount,
|
|||
|
|
[NotApprovedCommentCount] = @NotApprovedCommentCount
|
|||
|
|
WHERE [Id] = @BlogPostId
|
|||
|
|
|
|||
|
|
--fetch next identifier
|
|||
|
|
FETCH NEXT FROM cur_blogpost INTO @BlogPostId
|
|||
|
|
END
|
|||
|
|
CLOSE cur_blogpost
|
|||
|
|
DEALLOCATE cur_blogpost
|
|||
|
|
')
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
ALTER TABLE [BlogPost] ALTER COLUMN [ApprovedCommentCount] int NOT NULL
|
|||
|
|
GO
|
|||
|
|
ALTER TABLE [BlogPost] ALTER COLUMN [NotApprovedCommentCount] int NOT NULL
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Store a value indicating whether we have tier prices in [ProductVariant] entity/table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[ProductVariant]') and NAME='HasTierPrices')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [ProductVariant]
|
|||
|
|
ADD [HasTierPrices] bit NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
EXEC('
|
|||
|
|
DECLARE @ProductVariantId int
|
|||
|
|
DECLARE cur_productvariant CURSOR FOR
|
|||
|
|
SELECT [Id]
|
|||
|
|
FROM [ProductVariant]
|
|||
|
|
ORDER BY [Id]
|
|||
|
|
OPEN cur_productvariant
|
|||
|
|
FETCH NEXT FROM cur_productvariant INTO @ProductVariantId
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @HasTierPrices bit
|
|||
|
|
SET @HasTierPrices = null -- clear cache (variable scope)
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF (EXISTS (SELECT 1 FROM [TierPrice] as [tp] WHERE [tp].[ProductVariantId] = @ProductVariantId))
|
|||
|
|
BEGIN
|
|||
|
|
SET @HasTierPrices = 1
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
SET @HasTierPrices = 0
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
UPDATE [ProductVariant]
|
|||
|
|
SET [HasTierPrices] = @HasTierPrices
|
|||
|
|
WHERE [Id] = @ProductVariantId
|
|||
|
|
|
|||
|
|
--fetch next identifier
|
|||
|
|
FETCH NEXT FROM cur_productvariant INTO @ProductVariantId
|
|||
|
|
END
|
|||
|
|
CLOSE cur_productvariant
|
|||
|
|
DEALLOCATE cur_productvariant
|
|||
|
|
')
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
ALTER TABLE [ProductVariant] ALTER COLUMN [HasTierPrices] bit NOT NULL
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
DELETE FROM [Setting]
|
|||
|
|
WHERE [Name] = N'catalogsettings.ignoretierprices'
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Store a value indicating whether we have discounts applied in [ProductVariant] entity/table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[ProductVariant]') and NAME='HasDiscountsApplied')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [ProductVariant]
|
|||
|
|
ADD [HasDiscountsApplied] bit NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
EXEC('
|
|||
|
|
DECLARE @ProductVariantId int
|
|||
|
|
DECLARE cur_productvariant CURSOR FOR
|
|||
|
|
SELECT [Id]
|
|||
|
|
FROM [ProductVariant]
|
|||
|
|
ORDER BY [Id]
|
|||
|
|
OPEN cur_productvariant
|
|||
|
|
FETCH NEXT FROM cur_productvariant INTO @ProductVariantId
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @HasDiscountsApplied bit
|
|||
|
|
SET @HasDiscountsApplied = null -- clear cache (variable scope)
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF (EXISTS (SELECT 1 FROM [Discount_AppliedToProductVariants] as [datpv] WHERE [datpv].[ProductVariant_Id] = @ProductVariantId))
|
|||
|
|
BEGIN
|
|||
|
|
SET @HasDiscountsApplied = 1
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
SET @HasDiscountsApplied = 0
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
UPDATE [ProductVariant]
|
|||
|
|
SET [HasDiscountsApplied] = @HasDiscountsApplied
|
|||
|
|
WHERE [Id] = @ProductVariantId
|
|||
|
|
|
|||
|
|
--fetch next identifier
|
|||
|
|
FETCH NEXT FROM cur_productvariant INTO @ProductVariantId
|
|||
|
|
END
|
|||
|
|
CLOSE cur_productvariant
|
|||
|
|
DEALLOCATE cur_productvariant
|
|||
|
|
')
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
ALTER TABLE [ProductVariant] ALTER COLUMN [HasDiscountsApplied] bit NOT NULL
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Store a value indicating whether we have discounts applied in [ProductVariant] entity/table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[ProductVariant]') and NAME='HasDiscountsApplied')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [ProductVariant]
|
|||
|
|
ADD [HasDiscountsApplied] bit NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
EXEC('
|
|||
|
|
DECLARE @ProductVariantId int
|
|||
|
|
DECLARE cur_productvariant CURSOR FOR
|
|||
|
|
SELECT [Id]
|
|||
|
|
FROM [ProductVariant]
|
|||
|
|
ORDER BY [Id]
|
|||
|
|
OPEN cur_productvariant
|
|||
|
|
FETCH NEXT FROM cur_productvariant INTO @ProductVariantId
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @HasDiscountsApplied bit
|
|||
|
|
SET @HasDiscountsApplied = null -- clear cache (variable scope)
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF (EXISTS (SELECT 1 FROM [Discount_AppliedToProductVariants] as [datpv] WHERE [datpv].[ProductVariant_Id] = @ProductVariantId))
|
|||
|
|
BEGIN
|
|||
|
|
SET @HasDiscountsApplied = 1
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
SET @HasDiscountsApplied = 0
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
UPDATE [ProductVariant]
|
|||
|
|
SET [HasDiscountsApplied] = @HasDiscountsApplied
|
|||
|
|
WHERE [Id] = @ProductVariantId
|
|||
|
|
|
|||
|
|
--fetch next identifier
|
|||
|
|
FETCH NEXT FROM cur_productvariant INTO @ProductVariantId
|
|||
|
|
END
|
|||
|
|
CLOSE cur_productvariant
|
|||
|
|
DEALLOCATE cur_productvariant
|
|||
|
|
')
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
--Store a value indicating whether we have discounts applied in [Category] entity/table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[Category]') and NAME='HasDiscountsApplied')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [Category]
|
|||
|
|
ADD [HasDiscountsApplied] bit NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
EXEC('
|
|||
|
|
DECLARE @CategoryId int
|
|||
|
|
DECLARE cur_category CURSOR FOR
|
|||
|
|
SELECT [Id]
|
|||
|
|
FROM [Category]
|
|||
|
|
ORDER BY [Id]
|
|||
|
|
OPEN cur_category
|
|||
|
|
FETCH NEXT FROM cur_category INTO @CategoryId
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @HasDiscountsApplied bit
|
|||
|
|
SET @HasDiscountsApplied = null -- clear cache (variable scope)
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF (EXISTS (SELECT 1 FROM [Discount_AppliedToCategories] as [datc] WHERE [datc].[Category_Id] = @CategoryId))
|
|||
|
|
BEGIN
|
|||
|
|
SET @HasDiscountsApplied = 1
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
SET @HasDiscountsApplied = 0
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
UPDATE [Category]
|
|||
|
|
SET [HasDiscountsApplied] = @HasDiscountsApplied
|
|||
|
|
WHERE [Id] = @CategoryId
|
|||
|
|
|
|||
|
|
--fetch next identifier
|
|||
|
|
FETCH NEXT FROM cur_category INTO @CategoryId
|
|||
|
|
END
|
|||
|
|
CLOSE cur_category
|
|||
|
|
DEALLOCATE cur_category
|
|||
|
|
')
|
|||
|
|
GO
|
|||
|
|
ALTER TABLE [Category] ALTER COLUMN [HasDiscountsApplied] bit NOT NULL
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'mediasettings.defaultimagequality')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'mediasettings.defaultimagequality', N'100')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'storeinformationsettings.displayeucookielawwarning')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'storeinformationsettings.displayeucookielawwarning', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Tax By Country & State & Zip provider issue fix
|
|||
|
|
UPDATE [TaxRate]
|
|||
|
|
SET [Zip] = null
|
|||
|
|
WHERE [Zip] = N'*'
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
--new generic attribute implementation
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID(N'[GenericAttribute]') and OBJECTPROPERTY(object_id, N'IsUserTable') = 1)
|
|||
|
|
BEGIN
|
|||
|
|
CREATE TABLE [dbo].[GenericAttribute](
|
|||
|
|
[Id] [int] IDENTITY(1,1) NOT NULL,
|
|||
|
|
[EntityId] [int] NOT NULL,
|
|||
|
|
[KeyGroup] nvarchar(400) NOT NULL,
|
|||
|
|
[Key] nvarchar(400) NOT NULL,
|
|||
|
|
[Value] nvarchar(MAX) NOT NULL,
|
|||
|
|
PRIMARY KEY CLUSTERED
|
|||
|
|
(
|
|||
|
|
[Id] ASC
|
|||
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
|
|||
|
|
)
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID(N'[CustomerAttribute]') and OBJECTPROPERTY(object_id, N'IsUserTable') = 1)
|
|||
|
|
BEGIN
|
|||
|
|
--move customer attributes to the new generic attributes
|
|||
|
|
EXEC('
|
|||
|
|
DECLARE @CustomerAttributeId int
|
|||
|
|
DECLARE cur_customerattribute CURSOR FOR
|
|||
|
|
SELECT [Id]
|
|||
|
|
FROM [CustomerAttribute]
|
|||
|
|
ORDER BY [Id]
|
|||
|
|
OPEN cur_customerattribute
|
|||
|
|
FETCH NEXT FROM cur_customerattribute INTO @CustomerAttributeId
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
|
|||
|
|
DECLARE @AttributeCustomerId int
|
|||
|
|
DECLARE @AttributeKey nvarchar(MAX)
|
|||
|
|
DECLARE @AttributeValue nvarchar(MAX)
|
|||
|
|
SET @AttributeCustomerId = null -- clear cache (variable scope)
|
|||
|
|
SET @AttributeKey = null -- clear cache (variable scope)
|
|||
|
|
SET @AttributeValue = null -- clear cache (variable scope)
|
|||
|
|
SELECT @AttributeCustomerId = [CustomerId],
|
|||
|
|
@AttributeKey = [Key],
|
|||
|
|
@AttributeValue = [Value]
|
|||
|
|
FROM [CustomerAttribute] WHERE [Id]=@CustomerAttributeId
|
|||
|
|
|
|||
|
|
--insert new generic attribute
|
|||
|
|
INSERT INTO [GenericAttribute] ([EntityId], [KeyGroup], [Key], [Value])
|
|||
|
|
VALUES (@AttributeCustomerId, N''Customer'', @AttributeKey, @AttributeValue)
|
|||
|
|
|
|||
|
|
--fetch next identifier
|
|||
|
|
FETCH NEXT FROM cur_customerattribute INTO @CustomerAttributeId
|
|||
|
|
END
|
|||
|
|
CLOSE cur_customerattribute
|
|||
|
|
DEALLOCATE cur_customerattribute
|
|||
|
|
')
|
|||
|
|
|
|||
|
|
DROP TABLE [CustomerAttribute]
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--more SQL indexes
|
|||
|
|
IF NOT EXISTS (SELECT 1 from sys.indexes WHERE [NAME]=N'IX_GenericAttribute_EntityId_and_KeyGroup' and object_id=object_id(N'[GenericAttribute]'))
|
|||
|
|
BEGIN
|
|||
|
|
CREATE NONCLUSTERED INDEX [IX_GenericAttribute_EntityId_and_KeyGroup] ON [GenericAttribute]
|
|||
|
|
(
|
|||
|
|
[EntityId] ASC,
|
|||
|
|
[KeyGroup] ASC
|
|||
|
|
)
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
DELETE FROM [Setting]
|
|||
|
|
WHERE [Name] = N'shoppingcartsettings.minishoppingcartdisplayproducts'
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'shoppingcartsettings.minishoppingcartproductnumber')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'shoppingcartsettings.minishoppingcartproductnumber', N'5')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'shoppingcartsettings.showproductimagesinminishoppingcart')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'shoppingcartsettings.showproductimagesinminishoppingcart', N'true')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'mediasettings.minicartthumbpicturesize')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'mediasettings.minicartthumbpicturesize', N'47')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'catalogsettings.productsearchautocompleteenabled')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'catalogsettings.productsearchautocompleteenabled', N'true')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'catalogsettings.productsearchautocompletenumberofproducts')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'catalogsettings.productsearchautocompletenumberofproducts', N'10')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--new 'permission records
|
|||
|
|
IF NOT EXISTS (
|
|||
|
|
SELECT 1
|
|||
|
|
FROM [PermissionRecord]
|
|||
|
|
WHERE [SystemName] = N'PublicStoreAllowNavigation')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [PermissionRecord] ([Name], [SystemName], [Category])
|
|||
|
|
VALUES (N'Public store. Allow navigation', N'PublicStoreAllowNavigation', N'PublicStore')
|
|||
|
|
|
|||
|
|
DECLARE @PermissionRecordId INT
|
|||
|
|
SET @PermissionRecordId = @@IDENTITY
|
|||
|
|
|
|||
|
|
|
|||
|
|
--add it to all roles
|
|||
|
|
DECLARE @CustomerRoleId int
|
|||
|
|
DECLARE cur_customerrole CURSOR FOR
|
|||
|
|
SELECT Id
|
|||
|
|
FROM [CustomerRole]
|
|||
|
|
OPEN cur_customerrole
|
|||
|
|
FETCH NEXT FROM cur_customerrole INTO @CustomerRoleId
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
|
|||
|
|
INSERT [PermissionRecord_Role_Mapping] ([PermissionRecord_Id], [CustomerRole_Id])
|
|||
|
|
VALUES (@PermissionRecordId, @CustomerRoleId)
|
|||
|
|
|
|||
|
|
FETCH NEXT FROM cur_customerrole INTO @CustomerRoleId
|
|||
|
|
END
|
|||
|
|
CLOSE cur_customerrole
|
|||
|
|
DEALLOCATE cur_customerrole
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'catalogsettings.includeshortdescriptionincompareproducts')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'catalogsettings.includeshortdescriptionincompareproducts', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'catalogsettings.includefulldescriptionincompareproducts')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'catalogsettings.includefulldescriptionincompareproducts', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'shoppingcartsettings.allowanonymoususerstoemailwishlist')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'shoppingcartsettings.allowanonymoususerstoemailwishlist', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'shoppingcartsettings.allowoutofstockitemstobeaddedtowishlist')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'shoppingcartsettings.allowoutofstockitemstobeaddedtowishlist', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'customersettings.companyrequired')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'customersettings.companyrequired', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'customersettings.streetaddressrequired')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'customersettings.streetaddressrequired', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'customersettings.streetaddress2required')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'customersettings.streetaddress2required', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'customersettings.zippostalcoderequired')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'customersettings.zippostalcoderequired', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'customersettings.cityrequired')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'customersettings.cityrequired', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'customersettings.phonerequired')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'customersettings.phonerequired', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'customersettings.faxrequired')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'customersettings.faxrequired', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
--new widget implementation
|
|||
|
|
IF EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID(N'[Widget]') and OBJECTPROPERTY(object_id, N'IsUserTable') = 1)
|
|||
|
|
BEGIN
|
|||
|
|
DROP TABLE [Widget]
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'widgetsettings.activewidgetsystemnames')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'widgetsettings.activewidgetsystemnames', N'')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
--Full-text support
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'commonsettings.usefulltextsearch')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'commonsettings.usefulltextsearch', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'commonsettings.fulltextsearchmode')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'commonsettings.fulltextsearchmode', N'ExactMatch')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF EXISTS (
|
|||
|
|
SELECT *
|
|||
|
|
FROM sys.objects
|
|||
|
|
WHERE object_id = OBJECT_ID(N'[ProductLoadAllPaged]') AND OBJECTPROPERTY(object_id,N'IsProcedure') = 1)
|
|||
|
|
DROP PROCEDURE [ProductLoadAllPaged]
|
|||
|
|
GO
|
|||
|
|
CREATE PROCEDURE [ProductLoadAllPaged]
|
|||
|
|
(
|
|||
|
|
@CategoryIds nvarchar(MAX) = null, --a list of category IDs (comma-separated list). e.g. 1,2,3
|
|||
|
|
@ManufacturerId int = 0,
|
|||
|
|
@ProductTagId int = 0,
|
|||
|
|
@FeaturedProducts bit = null, --0 featured only , 1 not featured only, null - load all products
|
|||
|
|
@PriceMin decimal(18, 4) = null,
|
|||
|
|
@PriceMax decimal(18, 4) = null,
|
|||
|
|
@Keywords nvarchar(4000) = null,
|
|||
|
|
@SearchDescriptions bit = 0,
|
|||
|
|
@UseFullTextSearch bit = 0,
|
|||
|
|
@FullTextMode int = 0, --0 using CONTAINS with <prefix_term>, 5 - using CONTAINS and OR with <prefix_term>, 10 - using CONTAINS and AND with <prefix_term>
|
|||
|
|
@FilteredSpecs nvarchar(MAX) = null, --filter by attributes (comma-separated list). e.g. 14,15,16
|
|||
|
|
@LanguageId int = 0,
|
|||
|
|
@OrderBy int = 0, --0 position, 5 - Name: A to Z, 6 - Name: Z to A, 10 - Price: Low to High, 11 - Price: High to Low, 15 - creation date
|
|||
|
|
@PageIndex int = 0,
|
|||
|
|
@PageSize int = 2147483644,
|
|||
|
|
@ShowHidden bit = 0,
|
|||
|
|
@LoadFilterableSpecificationAttributeOptionIds bit = 0, --a value indicating whether we should load the specification attribute option identifiers applied to loaded products (all pages)
|
|||
|
|
@FilterableSpecificationAttributeOptionIds nvarchar(MAX) = null OUTPUT, --the specification attribute option identifiers applied to loaded products (all pages). returned as a comma separated list of identifiers
|
|||
|
|
@TotalRecords int = null OUTPUT
|
|||
|
|
)
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
|
|||
|
|
/* Products that filtered by keywords */
|
|||
|
|
CREATE TABLE #KeywordProducts
|
|||
|
|
(
|
|||
|
|
[ProductId] int NOT NULL
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
DECLARE
|
|||
|
|
@SearchKeywords bit,
|
|||
|
|
@sql nvarchar(max),
|
|||
|
|
@sql_orderby nvarchar(max)
|
|||
|
|
|
|||
|
|
SET NOCOUNT ON
|
|||
|
|
|
|||
|
|
--filter by keywords
|
|||
|
|
SET @Keywords = isnull(@Keywords, '')
|
|||
|
|
SET @Keywords = rtrim(ltrim(@Keywords))
|
|||
|
|
IF ISNULL(@Keywords, '') != ''
|
|||
|
|
BEGIN
|
|||
|
|
SET @SearchKeywords = 1
|
|||
|
|
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
BEGIN
|
|||
|
|
--full-text search
|
|||
|
|
IF @FullTextMode = 0
|
|||
|
|
BEGIN
|
|||
|
|
--0 - using CONTAINS with <prefix_term>
|
|||
|
|
SET @Keywords = ' "' + @Keywords + '*" '
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
--5 - using CONTAINS and OR with <prefix_term>
|
|||
|
|
--10 - using CONTAINS and AND with <prefix_term>
|
|||
|
|
|
|||
|
|
--remove wrong chars (' ")
|
|||
|
|
SET @Keywords = REPLACE(@Keywords, '''', '')
|
|||
|
|
SET @Keywords = REPLACE(@Keywords, '"', '')
|
|||
|
|
--clean multiple spaces
|
|||
|
|
WHILE CHARINDEX(' ', @Keywords) > 0
|
|||
|
|
SET @Keywords = REPLACE(@Keywords, ' ', ' ')
|
|||
|
|
|
|||
|
|
DECLARE @concat_term nvarchar(100)
|
|||
|
|
IF @FullTextMode = 5 --5 - using CONTAINS and OR with <prefix_term>
|
|||
|
|
BEGIN
|
|||
|
|
SET @concat_term = 'OR'
|
|||
|
|
END
|
|||
|
|
IF @FullTextMode = 10 --10 - using CONTAINS and AND with <prefix_term>
|
|||
|
|
BEGIN
|
|||
|
|
SET @concat_term = 'AND'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--now let's build search string
|
|||
|
|
declare @fulltext_keywords nvarchar(4000)
|
|||
|
|
set @fulltext_keywords = N''
|
|||
|
|
declare @index int
|
|||
|
|
|
|||
|
|
set @index = CHARINDEX(' ', @Keywords, 0)
|
|||
|
|
|
|||
|
|
-- if index = 0, then only one field was passed
|
|||
|
|
IF(@index = 0)
|
|||
|
|
set @fulltext_keywords = ' "' + @Keywords + '*" '
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @first BIT
|
|||
|
|
SET @first = 1
|
|||
|
|
WHILE @index > 0
|
|||
|
|
BEGIN
|
|||
|
|
IF (@first = 0)
|
|||
|
|
SET @fulltext_keywords = @fulltext_keywords + ' ' + @concat_term + ' '
|
|||
|
|
ELSE
|
|||
|
|
SET @first = 0
|
|||
|
|
|
|||
|
|
SET @fulltext_keywords = @fulltext_keywords + '"' + SUBSTRING(@Keywords, 1, @index - 1) + '*"'
|
|||
|
|
SET @Keywords = SUBSTRING(@Keywords, @index + 1, LEN(@Keywords) - @index)
|
|||
|
|
SET @index = CHARINDEX(' ', @Keywords, 0)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- add the last field
|
|||
|
|
IF LEN(@fulltext_keywords) > 0
|
|||
|
|
SET @fulltext_keywords = @fulltext_keywords + ' ' + @concat_term + ' ' + '"' + SUBSTRING(@Keywords, 1, LEN(@Keywords)) + '*"'
|
|||
|
|
END
|
|||
|
|
SET @Keywords = @fulltext_keywords
|
|||
|
|
END
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
--usual search by PATINDEX
|
|||
|
|
SET @Keywords = '%' + @Keywords + '%'
|
|||
|
|
END
|
|||
|
|
--PRINT @Keywords
|
|||
|
|
|
|||
|
|
--product name
|
|||
|
|
SET @sql = '
|
|||
|
|
INSERT INTO #KeywordProducts ([ProductId])
|
|||
|
|
SELECT p.Id
|
|||
|
|
FROM Product p with (NOLOCK)
|
|||
|
|
WHERE '
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
SET @sql = @sql + 'CONTAINS(p.[Name], @Keywords) '
|
|||
|
|
ELSE
|
|||
|
|
SET @sql = @sql + 'PATINDEX(@Keywords, p.[Name]) > 0 '
|
|||
|
|
|
|||
|
|
|
|||
|
|
--product variant name
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
UNION
|
|||
|
|
SELECT pv.ProductId
|
|||
|
|
FROM ProductVariant pv with (NOLOCK)
|
|||
|
|
WHERE '
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
SET @sql = @sql + 'CONTAINS(pv.[Name], @Keywords) '
|
|||
|
|
ELSE
|
|||
|
|
SET @sql = @sql + 'PATINDEX(@Keywords, pv.[Name]) > 0 '
|
|||
|
|
|
|||
|
|
|
|||
|
|
--SKU
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
UNION
|
|||
|
|
SELECT pv.ProductId
|
|||
|
|
FROM ProductVariant pv with (NOLOCK)
|
|||
|
|
WHERE '
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
SET @sql = @sql + 'CONTAINS(pv.[Sku], @Keywords) '
|
|||
|
|
ELSE
|
|||
|
|
SET @sql = @sql + 'PATINDEX(@Keywords, pv.[Sku]) > 0 '
|
|||
|
|
|
|||
|
|
|
|||
|
|
--localized product name
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
UNION
|
|||
|
|
SELECT lp.EntityId
|
|||
|
|
FROM LocalizedProperty lp with (NOLOCK)
|
|||
|
|
WHERE
|
|||
|
|
lp.LocaleKeyGroup = N''Product''
|
|||
|
|
AND lp.LanguageId = ' + ISNULL(CAST(@LanguageId AS nvarchar(max)), '0') + '
|
|||
|
|
AND lp.LocaleKey = N''Name'''
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
SET @sql = @sql + ' AND CONTAINS(lp.[LocaleValue], @Keywords) '
|
|||
|
|
ELSE
|
|||
|
|
SET @sql = @sql + ' AND PATINDEX(@Keywords, lp.[LocaleValue]) > 0 '
|
|||
|
|
|
|||
|
|
|
|||
|
|
--product short description
|
|||
|
|
IF @SearchDescriptions = 1
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
UNION
|
|||
|
|
SELECT p.Id
|
|||
|
|
FROM Product p with (NOLOCK)
|
|||
|
|
WHERE '
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
SET @sql = @sql + 'CONTAINS(p.[ShortDescription], @Keywords) '
|
|||
|
|
ELSE
|
|||
|
|
SET @sql = @sql + 'PATINDEX(@Keywords, p.[ShortDescription]) > 0 '
|
|||
|
|
|
|||
|
|
|
|||
|
|
--product full description
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
UNION
|
|||
|
|
SELECT p.Id
|
|||
|
|
FROM Product p with (NOLOCK)
|
|||
|
|
WHERE '
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
SET @sql = @sql + 'CONTAINS(p.[FullDescription], @Keywords) '
|
|||
|
|
ELSE
|
|||
|
|
SET @sql = @sql + 'PATINDEX(@Keywords, p.[FullDescription]) > 0 '
|
|||
|
|
|
|||
|
|
|
|||
|
|
--product variant description
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
UNION
|
|||
|
|
SELECT pv.ProductId
|
|||
|
|
FROM ProductVariant pv with (NOLOCK)
|
|||
|
|
WHERE '
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
SET @sql = @sql + 'CONTAINS(pv.[Description], @Keywords) '
|
|||
|
|
ELSE
|
|||
|
|
SET @sql = @sql + 'PATINDEX(@Keywords, pv.[Description]) > 0 '
|
|||
|
|
|
|||
|
|
|
|||
|
|
--localized product short description
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
UNION
|
|||
|
|
SELECT lp.EntityId
|
|||
|
|
FROM LocalizedProperty lp with (NOLOCK)
|
|||
|
|
WHERE
|
|||
|
|
lp.LocaleKeyGroup = N''Product''
|
|||
|
|
AND lp.LanguageId = ' + ISNULL(CAST(@LanguageId AS nvarchar(max)), '0') + '
|
|||
|
|
AND lp.LocaleKey = N''ShortDescription'''
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
SET @sql = @sql + ' AND CONTAINS(lp.[LocaleValue], @Keywords) '
|
|||
|
|
ELSE
|
|||
|
|
SET @sql = @sql + ' AND PATINDEX(@Keywords, lp.[LocaleValue]) > 0 '
|
|||
|
|
|
|||
|
|
|
|||
|
|
--localized product full description
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
UNION
|
|||
|
|
SELECT lp.EntityId
|
|||
|
|
FROM LocalizedProperty lp with (NOLOCK)
|
|||
|
|
WHERE
|
|||
|
|
lp.LocaleKeyGroup = N''Product''
|
|||
|
|
AND lp.LanguageId = ' + ISNULL(CAST(@LanguageId AS nvarchar(max)), '0') + '
|
|||
|
|
AND lp.LocaleKey = N''FullDescription'''
|
|||
|
|
IF @UseFullTextSearch = 1
|
|||
|
|
SET @sql = @sql + ' AND CONTAINS(lp.[LocaleValue], @Keywords) '
|
|||
|
|
ELSE
|
|||
|
|
SET @sql = @sql + ' AND PATINDEX(@Keywords, lp.[LocaleValue]) > 0 '
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--PRINT (@sql)
|
|||
|
|
EXEC sp_executesql @sql, N'@Keywords nvarchar(4000)', @Keywords
|
|||
|
|
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
SET @SearchKeywords = 0
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--filter by category IDs
|
|||
|
|
SET @CategoryIds = isnull(@CategoryIds, '')
|
|||
|
|
CREATE TABLE #FilteredCategoryIds
|
|||
|
|
(
|
|||
|
|
CategoryId int not null
|
|||
|
|
)
|
|||
|
|
INSERT INTO #FilteredCategoryIds (CategoryId)
|
|||
|
|
SELECT CAST(data as int) FROM [nop_splitstring_to_table](@CategoryIds, ',')
|
|||
|
|
DECLARE @CategoryIdsCount int
|
|||
|
|
SET @CategoryIdsCount = (SELECT COUNT(1) FROM #FilteredCategoryIds)
|
|||
|
|
|
|||
|
|
--filter by attributes
|
|||
|
|
SET @FilteredSpecs = isnull(@FilteredSpecs, '')
|
|||
|
|
CREATE TABLE #FilteredSpecs
|
|||
|
|
(
|
|||
|
|
SpecificationAttributeOptionId int not null
|
|||
|
|
)
|
|||
|
|
INSERT INTO #FilteredSpecs (SpecificationAttributeOptionId)
|
|||
|
|
SELECT CAST(data as int) FROM [nop_splitstring_to_table](@FilteredSpecs, ',')
|
|||
|
|
DECLARE @SpecAttributesCount int
|
|||
|
|
SET @SpecAttributesCount = (SELECT COUNT(1) FROM #FilteredSpecs)
|
|||
|
|
|
|||
|
|
--paging
|
|||
|
|
DECLARE @PageLowerBound int
|
|||
|
|
DECLARE @PageUpperBound int
|
|||
|
|
DECLARE @RowsToReturn int
|
|||
|
|
SET @RowsToReturn = @PageSize * (@PageIndex + 1)
|
|||
|
|
SET @PageLowerBound = @PageSize * @PageIndex
|
|||
|
|
SET @PageUpperBound = @PageLowerBound + @PageSize + 1
|
|||
|
|
|
|||
|
|
CREATE TABLE #DisplayOrderTmp
|
|||
|
|
(
|
|||
|
|
[Id] int IDENTITY (1, 1) NOT NULL,
|
|||
|
|
[ProductId] int NOT NULL
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
SET @sql = '
|
|||
|
|
INSERT INTO #DisplayOrderTmp ([ProductId])
|
|||
|
|
SELECT p.Id
|
|||
|
|
FROM
|
|||
|
|
Product p with (NOLOCK)'
|
|||
|
|
|
|||
|
|
IF @CategoryIdsCount > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
LEFT JOIN Product_Category_Mapping pcm with (NOLOCK)
|
|||
|
|
ON p.Id = pcm.ProductId'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
IF @ManufacturerId > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
LEFT JOIN Product_Manufacturer_Mapping pmm with (NOLOCK)
|
|||
|
|
ON p.Id = pmm.ProductId'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
IF ISNULL(@ProductTagId, 0) != 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
LEFT JOIN Product_ProductTag_Mapping pptm with (NOLOCK)
|
|||
|
|
ON p.Id = pptm.Product_Id'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
IF @ShowHidden = 0
|
|||
|
|
OR @PriceMin > 0
|
|||
|
|
OR @PriceMax > 0
|
|||
|
|
OR @OrderBy = 10 /* Price: Low to High */
|
|||
|
|
OR @OrderBy = 11 /* Price: High to Low */
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
LEFT JOIN ProductVariant pv with (NOLOCK)
|
|||
|
|
ON p.Id = pv.ProductId'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--searching by keywords
|
|||
|
|
IF @SearchKeywords = 1
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
JOIN #KeywordProducts kp
|
|||
|
|
ON p.Id = kp.ProductId'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
WHERE
|
|||
|
|
p.Deleted = 0'
|
|||
|
|
|
|||
|
|
--filter by category
|
|||
|
|
IF @CategoryIdsCount > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pcm.CategoryId IN (SELECT CategoryId FROM #FilteredCategoryIds)'
|
|||
|
|
|
|||
|
|
IF @FeaturedProducts IS NOT NULL
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pcm.IsFeaturedProduct = ' + CAST(@FeaturedProducts AS nvarchar(max))
|
|||
|
|
END
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--filter by manufacturer
|
|||
|
|
IF @ManufacturerId > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pmm.ManufacturerId = ' + CAST(@ManufacturerId AS nvarchar(max))
|
|||
|
|
|
|||
|
|
IF @FeaturedProducts IS NOT NULL
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pmm.IsFeaturedProduct = ' + CAST(@FeaturedProducts AS nvarchar(max))
|
|||
|
|
END
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--filter by product tag
|
|||
|
|
IF ISNULL(@ProductTagId, 0) != 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND pptm.ProductTag_Id = ' + CAST(@ProductTagId AS nvarchar(max))
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
IF @ShowHidden = 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND p.Published = 1
|
|||
|
|
AND pv.Published = 1
|
|||
|
|
AND pv.Deleted = 0
|
|||
|
|
AND (getutcdate() BETWEEN ISNULL(pv.AvailableStartDateTimeUtc, ''1/1/1900'') and ISNULL(pv.AvailableEndDateTimeUtc, ''1/1/2999''))'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--min price
|
|||
|
|
IF @PriceMin > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND (
|
|||
|
|
(
|
|||
|
|
--special price (specified price and valid date range)
|
|||
|
|
(pv.SpecialPrice IS NOT NULL AND (getutcdate() BETWEEN isnull(pv.SpecialPriceStartDateTimeUtc, ''1/1/1900'') AND isnull(pv.SpecialPriceEndDateTimeUtc, ''1/1/2999'')))
|
|||
|
|
AND
|
|||
|
|
(pv.SpecialPrice >= ' + CAST(@PriceMin AS nvarchar(max)) + ')
|
|||
|
|
)
|
|||
|
|
OR
|
|||
|
|
(
|
|||
|
|
--regular price (price isnt specified or date range isnt valid)
|
|||
|
|
(pv.SpecialPrice IS NULL OR (getutcdate() NOT BETWEEN isnull(pv.SpecialPriceStartDateTimeUtc, ''1/1/1900'') AND isnull(pv.SpecialPriceEndDateTimeUtc, ''1/1/2999'')))
|
|||
|
|
AND
|
|||
|
|
(pv.Price >= ' + CAST(@PriceMin AS nvarchar(max)) + ')
|
|||
|
|
)
|
|||
|
|
)'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--max price
|
|||
|
|
IF @PriceMax > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND (
|
|||
|
|
(
|
|||
|
|
--special price (specified price and valid date range)
|
|||
|
|
(pv.SpecialPrice IS NOT NULL AND (getutcdate() BETWEEN isnull(pv.SpecialPriceStartDateTimeUtc, ''1/1/1900'') AND isnull(pv.SpecialPriceEndDateTimeUtc, ''1/1/2999'')))
|
|||
|
|
AND
|
|||
|
|
(pv.SpecialPrice <= ' + CAST(@PriceMax AS nvarchar(max)) + ')
|
|||
|
|
)
|
|||
|
|
OR
|
|||
|
|
(
|
|||
|
|
--regular price (price isnt specified or date range isnt valid)
|
|||
|
|
(pv.SpecialPrice IS NULL OR (getutcdate() NOT BETWEEN isnull(pv.SpecialPriceStartDateTimeUtc, ''1/1/1900'') AND isnull(pv.SpecialPriceEndDateTimeUtc, ''1/1/2999'')))
|
|||
|
|
AND
|
|||
|
|
(pv.Price <= ' + CAST(@PriceMax AS nvarchar(max)) + ')
|
|||
|
|
)
|
|||
|
|
)'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--filter by specs
|
|||
|
|
IF @SpecAttributesCount > 0
|
|||
|
|
BEGIN
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
AND NOT EXISTS (
|
|||
|
|
SELECT 1
|
|||
|
|
FROM
|
|||
|
|
#FilteredSpecs [fs]
|
|||
|
|
WHERE
|
|||
|
|
[fs].SpecificationAttributeOptionId NOT IN (
|
|||
|
|
SELECT psam.SpecificationAttributeOptionId
|
|||
|
|
FROM Product_SpecificationAttribute_Mapping psam
|
|||
|
|
WHERE psam.AllowFiltering = 1 AND psam.ProductId = p.Id
|
|||
|
|
)
|
|||
|
|
)'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--sorting
|
|||
|
|
SET @sql_orderby = ''
|
|||
|
|
IF @OrderBy = 5 /* Name: A to Z */
|
|||
|
|
SET @sql_orderby = ' p.[Name] ASC'
|
|||
|
|
ELSE IF @OrderBy = 6 /* Name: Z to A */
|
|||
|
|
SET @sql_orderby = ' p.[Name] DESC'
|
|||
|
|
ELSE IF @OrderBy = 10 /* Price: Low to High */
|
|||
|
|
SET @sql_orderby = ' pv.[Price] ASC'
|
|||
|
|
ELSE IF @OrderBy = 11 /* Price: High to Low */
|
|||
|
|
SET @sql_orderby = ' pv.[Price] DESC'
|
|||
|
|
ELSE IF @OrderBy = 15 /* creation date */
|
|||
|
|
SET @sql_orderby = ' p.[CreatedOnUtc] DESC'
|
|||
|
|
ELSE /* default sorting, 0 (position) */
|
|||
|
|
BEGIN
|
|||
|
|
--category position (display order)
|
|||
|
|
IF @CategoryIdsCount > 0 SET @sql_orderby = ' pcm.DisplayOrder ASC'
|
|||
|
|
|
|||
|
|
--manufacturer position (display order)
|
|||
|
|
IF @ManufacturerId > 0
|
|||
|
|
BEGIN
|
|||
|
|
IF LEN(@sql_orderby) > 0 SET @sql_orderby = @sql_orderby + ', '
|
|||
|
|
SET @sql_orderby = @sql_orderby + ' pmm.DisplayOrder ASC'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--name
|
|||
|
|
IF LEN(@sql_orderby) > 0 SET @sql_orderby = @sql_orderby + ', '
|
|||
|
|
SET @sql_orderby = @sql_orderby + ' p.[Name] ASC'
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
SET @sql = @sql + '
|
|||
|
|
ORDER BY' + @sql_orderby
|
|||
|
|
|
|||
|
|
--PRINT (@sql)
|
|||
|
|
EXEC sp_executesql @sql
|
|||
|
|
|
|||
|
|
DROP TABLE #FilteredCategoryIds
|
|||
|
|
DROP TABLE #FilteredSpecs
|
|||
|
|
|
|||
|
|
CREATE TABLE #PageIndex
|
|||
|
|
(
|
|||
|
|
[IndexId] int IDENTITY (1, 1) NOT NULL,
|
|||
|
|
[ProductId] int NOT NULL
|
|||
|
|
)
|
|||
|
|
INSERT INTO #PageIndex ([ProductId])
|
|||
|
|
SELECT ProductId
|
|||
|
|
FROM #DisplayOrderTmp
|
|||
|
|
GROUP BY ProductId
|
|||
|
|
ORDER BY min([Id])
|
|||
|
|
|
|||
|
|
--total records
|
|||
|
|
SET @TotalRecords = @@rowcount
|
|||
|
|
|
|||
|
|
DROP TABLE #DisplayOrderTmp
|
|||
|
|
|
|||
|
|
--prepare filterable specification attribute option identifier (if requested)
|
|||
|
|
IF @LoadFilterableSpecificationAttributeOptionIds = 1
|
|||
|
|
BEGIN
|
|||
|
|
CREATE TABLE #FilterableSpecs
|
|||
|
|
(
|
|||
|
|
[SpecificationAttributeOptionId] int NOT NULL
|
|||
|
|
)
|
|||
|
|
INSERT INTO #FilterableSpecs ([SpecificationAttributeOptionId])
|
|||
|
|
SELECT DISTINCT [psam].SpecificationAttributeOptionId
|
|||
|
|
FROM [Product_SpecificationAttribute_Mapping] [psam]
|
|||
|
|
WHERE [psam].[AllowFiltering] = 1
|
|||
|
|
AND [psam].[ProductId] IN (SELECT [pi].ProductId FROM #PageIndex [pi])
|
|||
|
|
|
|||
|
|
--build comma separated list of filterable identifiers
|
|||
|
|
SELECT @FilterableSpecificationAttributeOptionIds = COALESCE(@FilterableSpecificationAttributeOptionIds + ',' , '') + CAST(SpecificationAttributeOptionId as nvarchar(1000))
|
|||
|
|
FROM #FilterableSpecs
|
|||
|
|
|
|||
|
|
DROP TABLE #FilterableSpecs
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
--return products
|
|||
|
|
SELECT TOP (@RowsToReturn)
|
|||
|
|
p.*
|
|||
|
|
FROM
|
|||
|
|
#PageIndex [pi]
|
|||
|
|
INNER JOIN Product p on p.Id = [pi].[ProductId]
|
|||
|
|
WHERE
|
|||
|
|
[pi].IndexId > @PageLowerBound AND
|
|||
|
|
[pi].IndexId < @PageUpperBound
|
|||
|
|
ORDER BY
|
|||
|
|
[pi].IndexId
|
|||
|
|
|
|||
|
|
DROP TABLE #PageIndex
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF EXISTS (
|
|||
|
|
SELECT *
|
|||
|
|
FROM sys.objects
|
|||
|
|
WHERE object_id = OBJECT_ID(N'[nop_getprimarykey_indexname]') AND [type] in (N'FN', N'IF', N'TF'))
|
|||
|
|
DROP FUNCTION [nop_getprimarykey_indexname]
|
|||
|
|
GO
|
|||
|
|
CREATE FUNCTION [dbo].[nop_getprimarykey_indexname]
|
|||
|
|
(
|
|||
|
|
@table_name nvarchar(1000) = null
|
|||
|
|
)
|
|||
|
|
RETURNS nvarchar(1000)
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @index_name nvarchar(1000)
|
|||
|
|
|
|||
|
|
SELECT @index_name = i.name
|
|||
|
|
FROM sys.tables AS tbl
|
|||
|
|
INNER JOIN sys.indexes AS i ON (i.index_id > 0 and i.is_hypothetical = 0) AND (i.object_id=tbl.object_id)
|
|||
|
|
WHERE (i.is_unique=1 and i.is_disabled=0) and (tbl.name=@table_name)
|
|||
|
|
|
|||
|
|
RETURN @index_name
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF EXISTS (
|
|||
|
|
SELECT *
|
|||
|
|
FROM sys.objects
|
|||
|
|
WHERE object_id = OBJECT_ID(N'[FullText_IsSupported]') AND OBJECTPROPERTY(object_id,N'IsProcedure') = 1)
|
|||
|
|
DROP PROCEDURE [FullText_IsSupported]
|
|||
|
|
GO
|
|||
|
|
CREATE PROCEDURE [FullText_IsSupported]
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
EXEC('
|
|||
|
|
SELECT CASE SERVERPROPERTY(''IsFullTextInstalled'')
|
|||
|
|
WHEN 1 THEN
|
|||
|
|
CASE DatabaseProperty (DB_NAME(DB_ID()), ''IsFulltextEnabled'')
|
|||
|
|
WHEN 1 THEN 1
|
|||
|
|
ELSE 0
|
|||
|
|
END
|
|||
|
|
ELSE 0
|
|||
|
|
END')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF EXISTS (
|
|||
|
|
SELECT *
|
|||
|
|
FROM sys.objects
|
|||
|
|
WHERE object_id = OBJECT_ID(N'[FullText_Enable]') AND OBJECTPROPERTY(object_id,N'IsProcedure') = 1)
|
|||
|
|
DROP PROCEDURE [FullText_Enable]
|
|||
|
|
GO
|
|||
|
|
CREATE PROCEDURE [FullText_Enable]
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
--create catalog
|
|||
|
|
EXEC('
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.fulltext_catalogs WHERE [name] = ''nopCommerceFullTextCatalog'')
|
|||
|
|
CREATE FULLTEXT CATALOG [nopCommerceFullTextCatalog] AS DEFAULT')
|
|||
|
|
|
|||
|
|
--create indexes
|
|||
|
|
DECLARE @create_index_text nvarchar(4000)
|
|||
|
|
SET @create_index_text = '
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.fulltext_indexes WHERE object_id = object_id(''[Product]''))
|
|||
|
|
CREATE FULLTEXT INDEX ON [Product]([Name], [ShortDescription], [FullDescription])
|
|||
|
|
KEY INDEX [' + dbo.[nop_getprimarykey_indexname] ('Product') + '] ON [nopCommerceFullTextCatalog] WITH CHANGE_TRACKING AUTO'
|
|||
|
|
EXEC(@create_index_text)
|
|||
|
|
|
|||
|
|
SET @create_index_text = '
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.fulltext_indexes WHERE object_id = object_id(''[ProductVariant]''))
|
|||
|
|
CREATE FULLTEXT INDEX ON [ProductVariant]([Name], [Description], [SKU])
|
|||
|
|
KEY INDEX [' + dbo.[nop_getprimarykey_indexname] ('ProductVariant') + '] ON [nopCommerceFullTextCatalog] WITH CHANGE_TRACKING AUTO'
|
|||
|
|
EXEC(@create_index_text)
|
|||
|
|
|
|||
|
|
SET @create_index_text = '
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.fulltext_indexes WHERE object_id = object_id(''[LocalizedProperty]''))
|
|||
|
|
CREATE FULLTEXT INDEX ON [LocalizedProperty]([LocaleValue])
|
|||
|
|
KEY INDEX [' + dbo.[nop_getprimarykey_indexname] ('LocalizedProperty') + '] ON [nopCommerceFullTextCatalog] WITH CHANGE_TRACKING AUTO'
|
|||
|
|
EXEC(@create_index_text)
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF EXISTS (
|
|||
|
|
SELECT *
|
|||
|
|
FROM sys.objects
|
|||
|
|
WHERE object_id = OBJECT_ID(N'[FullText_Disable]') AND OBJECTPROPERTY(object_id,N'IsProcedure') = 1)
|
|||
|
|
DROP PROCEDURE [FullText_Disable]
|
|||
|
|
GO
|
|||
|
|
CREATE PROCEDURE [FullText_Disable]
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
EXEC('
|
|||
|
|
--drop indexes
|
|||
|
|
IF EXISTS (SELECT 1 FROM sys.fulltext_indexes WHERE object_id = object_id(''[Product]''))
|
|||
|
|
DROP FULLTEXT INDEX ON [Product]
|
|||
|
|
')
|
|||
|
|
|
|||
|
|
EXEC('
|
|||
|
|
IF EXISTS (SELECT 1 FROM sys.fulltext_indexes WHERE object_id = object_id(''[ProductVariant]''))
|
|||
|
|
DROP FULLTEXT INDEX ON [ProductVariant]
|
|||
|
|
')
|
|||
|
|
|
|||
|
|
EXEC('
|
|||
|
|
IF EXISTS (SELECT 1 FROM sys.fulltext_indexes WHERE object_id = object_id(''[LocalizedProperty]''))
|
|||
|
|
DROP FULLTEXT INDEX ON [LocalizedProperty]
|
|||
|
|
')
|
|||
|
|
|
|||
|
|
--drop catalog
|
|||
|
|
EXEC('
|
|||
|
|
IF EXISTS (SELECT 1 FROM sys.fulltext_catalogs WHERE [name] = ''nopCommerceFullTextCatalog'')
|
|||
|
|
DROP FULLTEXT CATALOG [nopCommerceFullTextCatalog]
|
|||
|
|
')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
--language pack import
|
|||
|
|
IF EXISTS (
|
|||
|
|
SELECT *
|
|||
|
|
FROM sys.objects
|
|||
|
|
WHERE object_id = OBJECT_ID(N'[LanguagePackImport]') AND OBJECTPROPERTY(object_id,N'IsProcedure') = 1)
|
|||
|
|
DROP PROCEDURE [LanguagePackImport]
|
|||
|
|
GO
|
|||
|
|
CREATE PROCEDURE [LanguagePackImport]
|
|||
|
|
(
|
|||
|
|
@LanguageId int,
|
|||
|
|
@XmlPackage xml
|
|||
|
|
)
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
IF EXISTS(SELECT * FROM [Language] WHERE [Id] = @LanguageId)
|
|||
|
|
BEGIN
|
|||
|
|
CREATE TABLE #LocaleStringResourceTmp
|
|||
|
|
(
|
|||
|
|
[LanguageId] [int] NOT NULL,
|
|||
|
|
[ResourceName] [nvarchar](200) NOT NULL,
|
|||
|
|
[ResourceValue] [nvarchar](MAX) NOT NULL
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
INSERT INTO #LocaleStringResourceTmp (LanguageID, ResourceName, ResourceValue)
|
|||
|
|
SELECT @LanguageId, nref.value('@Name', 'nvarchar(200)'), nref.value('Value[1]', 'nvarchar(MAX)')
|
|||
|
|
FROM @XmlPackage.nodes('//Language/LocaleResource') AS R(nref)
|
|||
|
|
|
|||
|
|
DECLARE @ResourceName nvarchar(200)
|
|||
|
|
DECLARE @ResourceValue nvarchar(MAX)
|
|||
|
|
DECLARE cur_localeresource CURSOR FOR
|
|||
|
|
SELECT LanguageID, ResourceName, ResourceValue
|
|||
|
|
FROM #LocaleStringResourceTmp
|
|||
|
|
OPEN cur_localeresource
|
|||
|
|
FETCH NEXT FROM cur_localeresource INTO @LanguageId, @ResourceName, @ResourceValue
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
IF (EXISTS (SELECT 1 FROM [LocaleStringResource] WHERE LanguageID=@LanguageId AND ResourceName=@ResourceName))
|
|||
|
|
BEGIN
|
|||
|
|
UPDATE [LocaleStringResource]
|
|||
|
|
SET [ResourceValue]=@ResourceValue
|
|||
|
|
WHERE LanguageID=@LanguageId AND ResourceName=@ResourceName
|
|||
|
|
END
|
|||
|
|
ELSE
|
|||
|
|
BEGIN
|
|||
|
|
INSERT INTO [LocaleStringResource]
|
|||
|
|
(
|
|||
|
|
[LanguageId],
|
|||
|
|
[ResourceName],
|
|||
|
|
[ResourceValue]
|
|||
|
|
)
|
|||
|
|
VALUES
|
|||
|
|
(
|
|||
|
|
@LanguageId,
|
|||
|
|
@ResourceName,
|
|||
|
|
@ResourceValue
|
|||
|
|
)
|
|||
|
|
END
|
|||
|
|
|
|||
|
|
|
|||
|
|
FETCH NEXT FROM cur_localeresource INTO @LanguageId, @ResourceName, @ResourceValue
|
|||
|
|
END
|
|||
|
|
CLOSE cur_localeresource
|
|||
|
|
DEALLOCATE cur_localeresource
|
|||
|
|
|
|||
|
|
DROP TABLE #LocaleStringResourceTmp
|
|||
|
|
END
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Add 'Weight' column to [Shipment] and [OrderProductVariant] tables
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[Shipment]') and NAME='TotalWeight')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [Shipment]
|
|||
|
|
ADD [TotalWeight] decimal(18, 4) NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[OrderProductVariant]') and NAME='ItemWeight')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [OrderProductVariant]
|
|||
|
|
ADD [ItemWeight] decimal(18, 4) NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
--delete obsolete permission
|
|||
|
|
DELETE FROM [PermissionRecord]
|
|||
|
|
WHERE [SystemName] = N'ManagePromotionFeeds'
|
|||
|
|
GO
|
|||
|
|
DELETE FROM [Setting]
|
|||
|
|
WHERE [Name] = N'smssettings.activesmsprovidersystemnames'
|
|||
|
|
GO
|
|||
|
|
DELETE FROM [PermissionRecord]
|
|||
|
|
WHERE [SystemName] = N'ManageSMSProviders'
|
|||
|
|
GO
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'clickatellsettings.enabled')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'clickatellsettings.enabled', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'verizonsettings.enabled')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'verizonsettings.enabled', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Add 'AllowGuestsToVote' column to [Poll] table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[Poll]') and NAME='AllowGuestsToVote')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [Poll]
|
|||
|
|
ADD [AllowGuestsToVote] bit NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
UPDATE [Poll]
|
|||
|
|
SET [AllowGuestsToVote] = 0
|
|||
|
|
WHERE [AllowGuestsToVote] IS NULL
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
ALTER TABLE [Poll] ALTER COLUMN [AllowGuestsToVote] bit NOT NULL
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
--'Recurring payment cancelled' message template
|
|||
|
|
IF NOT EXISTS (
|
|||
|
|
SELECT 1
|
|||
|
|
FROM [MessageTemplate]
|
|||
|
|
WHERE [Name] = N'RecurringPaymentCancelled.StoreOwnerNotification')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [MessageTemplate] ([Name], [BccEmailAddresses], [Subject], [Body], [IsActive], [EmailAccountId])
|
|||
|
|
VALUES (N'RecurringPaymentCancelled.StoreOwnerNotification', null, N'%Store.Name%. Recurring payment cancelled', N'<p><a href="%Store.URL%">%Store.Name%</a> <br /><br />%Customer.FullName% (%Customer.Email%) has just cancelled a recurring payment ID=%RecurringPayment.ID%.</p>', 1, 0)
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'catalogsettings.manufacturersblockitemstodisplay')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'catalogsettings.manufacturersblockitemstodisplay', N'5')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[Order]') and NAME='OrderWeight')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [Order]
|
|||
|
|
DROP COLUMN [OrderWeight]
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
--Add 'AllowedQuantities' column to [ProductVariant] table
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[ProductVariant]') and NAME='AllowedQuantities')
|
|||
|
|
BEGIN
|
|||
|
|
ALTER TABLE [ProductVariant]
|
|||
|
|
ADD [AllowedQuantities] nvarchar(1000) NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'mediasettings.autocompletesearchthumbpicturesize')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'mediasettings.autocompletesearchthumbpicturesize', N'20')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'catalogsettings.showproductimagesinsearchautocomplete')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'catalogsettings.showproductimagesinsearchautocomplete', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'frooglesettings.passshippinginfo')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'frooglesettings.passshippinginfo', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF (EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID(N'[ShippingByWeight]') and OBJECTPROPERTY(object_id, N'IsUserTable') = 1))
|
|||
|
|
AND (NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[ShippingByWeight]') and NAME='StateProvinceId'))
|
|||
|
|
BEGIN
|
|||
|
|
EXEC ('ALTER TABLE [ShippingByWeight]
|
|||
|
|
ADD [StateProvinceId] int NULL')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF (EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID(N'[ShippingByWeight]') and OBJECTPROPERTY(object_id, N'IsUserTable') = 1))
|
|||
|
|
AND (EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[ShippingByWeight]') and NAME='StateProvinceId'))
|
|||
|
|
BEGIN
|
|||
|
|
EXEC ('UPDATE [ShippingByWeight]
|
|||
|
|
SET [StateProvinceId] = 0
|
|||
|
|
WHERE [StateProvinceId] IS NULL')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF (EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID(N'[ShippingByWeight]') and OBJECTPROPERTY(object_id, N'IsUserTable') = 1))
|
|||
|
|
AND (EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[ShippingByWeight]') and NAME='StateProvinceId'))
|
|||
|
|
BEGIN
|
|||
|
|
EXEC('ALTER TABLE [ShippingByWeight] ALTER COLUMN [StateProvinceId] int NOT NULL')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF (EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID(N'[ShippingByWeight]') and OBJECTPROPERTY(object_id, N'IsUserTable') = 1))
|
|||
|
|
AND (NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id=object_id('[ShippingByWeight]') and NAME='Zip'))
|
|||
|
|
BEGIN
|
|||
|
|
EXEC ('ALTER TABLE [ShippingByWeight]
|
|||
|
|
ADD [Zip] nvarchar(400) NULL')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [Setting] WHERE [name] = N'catalogsettings.fileuploadallowedextensions')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [Setting] ([Name], [Value])
|
|||
|
|
VALUES (N'catalogsettings.fileuploadallowedextensions', N'')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
--new activity types
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [ActivityLogType] WHERE [SystemKeyword] = N'PublicStore.ViewCategory')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [ActivityLogType] ([SystemKeyword], [Name], [Enabled])
|
|||
|
|
VALUES (N'PublicStore.ViewCategory', N'Public store. View a category', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [ActivityLogType] WHERE [SystemKeyword] = N'PublicStore.ViewManufacturer')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [ActivityLogType] ([SystemKeyword], [Name], [Enabled])
|
|||
|
|
VALUES (N'PublicStore.ViewManufacturer', N'Public store. View a manufacturer', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [ActivityLogType] WHERE [SystemKeyword] = N'PublicStore.ViewProduct')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [ActivityLogType] ([SystemKeyword], [Name], [Enabled])
|
|||
|
|
VALUES (N'PublicStore.ViewProduct', N'Public store. View a product', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM [ActivityLogType] WHERE [SystemKeyword] = N'PublicStore.PlaceOrder')
|
|||
|
|
BEGIN
|
|||
|
|
INSERT [ActivityLogType] ([SystemKeyword], [Name], [Enabled])
|
|||
|
|
VALUES (N'PublicStore.PlaceOrder', N'Public store. Place an order', N'false')
|
|||
|
|
END
|
|||
|
|
GO
|