Skip to content

<div style="display: none;" hidden="true" aria-hidden="true">Are you an LLM? You can read better optimized documentation at /changelog/Changelog.4.3.md for this page in Markdown format</div>

Home | Changelog

Version 4

version 4.3

version 4.3.2x

Changelog

  • [4.3.21] cd-fix: getAgoraCategoryRequest fix at productFilters to add 'placement:SponsoredProducts' in $categoryPath array as last item
  • [4.3.21] cd-fix: Waiting list email lists products that have been available with their main image
  • [4.3.21] ui-feat: views products admin / list and batch update have new mass manage options put_in_category_and_remove_other_categories and change_products_category
  • [4.3.21] cd-feat: product category model enriched with changeProductsCategoryBatch & removeAllProductCategoriesAndAssignToOne
  • [4.3.21] cd-feat: product model getProductCategoriesByProductIds added to match products categories
  • [4.3.20] cd-update: update package.json
  • [4.3.20] cd-fix: project agora getAgoraSearchRequest and getAgoraCategoryRequest call fix at productFilters
  • [4.3.20] cd-fix: fix error if no input stream is set in MY_Input::setInputStreamAsPost

Notes

  • [4.3.20] All clients need npm install & build components

version 4.3.1x

Changelog

  • [4.3.19] cd-fix: admin repeat order page functions were restored.
  • [4.3.19] cd-feat: admin order create/edit/repeat gifts block was made in vue to replace old approach.
  • [4.3.19] ui-fix: checkout counties dropdown: an empty option for empty selection and an alert were added
  • [4.3.19] cd-fix: Admin order search filters fix
  • [4.3.19] cd-fix: fix for addMassGiftsForNoPlusOne to post gift_mui entry with gift id and lang
  • [4.3.19] cd-feat: project agora update
    • cd-feat: "placement:SponsoredProducts" added at ProjectAgora getAgoraCategoryRequest and getAgoraSearchRequest
    • cd-feat: "msrp" and "taxonomy" fields added at parseItem function for project agora xml
  • [4.3.18] cd-fix: ecomntag version from 1.0.6 back to 1.0.8
  • [4.3.17] cd-feat: Added config item for the counties to show first Attika
  • [4.3.17] cd-fix: corrected product quantity for attributes in gifts in \Adv_order::checkoutView && \Adv_orders_admin::gifts_for_products
  • [4.3.17] cd-fix: fix slug saving for admin in Adv_promo_admin & replace deprecated create_slug
  • [4.3.17] cd-fix: fix condition in Adv_home::googleRecommendationsForHomePage
  • [4.3.16] cd-feat: send search terms to google through google tag manager
  • [4.3.16] cd-update: vue store.actions.addToCartClicked passes product code id along with product id in ecomntag lib
  • [4.3.16] cd-feat: Added extra feed for the contact pigeon and added extra method for the resize images for push notifications
  • [4.3.16] cd-feat: glami pixel tags was added to production/tag_manager_script.php & helpers/tracking_helper.php
  • [4.3.16] cd-fix: skroutz xml \AdvSkroutzXml::index updated to use images and descriptions.
  • [4.3.16] cd-feat: glami xml feed
    • cd-feat: generate xml fileds from product codes, must have both size/color attributes
    • cd-feat: implemented \AdvGlamiXml
    • cd-feat: added \Adv_product_model::getGlamiXmlProductCodes method
    • ui-feat: setting in third_party_provides to enable glami xml for advisable and admin users
    • ui-feat: checkbox in product create/update/clone views to include product in xml feed
    • cd-feat: IS_ENABLED setting for glami in adv_settings
  • [4.3.16] cd-feat: channel referrer track
    • cd-feat: libraries\ChannelTrack was refactored to match requested specifications
    • cd-feat: used in \Adv_front_controller::channelTrack to write request referrer to the user session
    • cd-feat: used in \Adv_order::checkout sets the skroutz_referer field using getReferrer()
    • cd-feat: notice that skroutz_referrer field name haven't changed but now it takes non boolean values, and in fact it sets the product purchase channel.
    • cd-feat: config referrerChannels in app.php to dynamically modify referrer tracking ! do not use zero as an index
  • [4.3.16] ui-fix: added vue text in admin add product attributes, load images on the next update
  • [4.3.16] cd-fix: ApcoPay Piraeus provider strip comma from city
  • [4.3.15] cd-fix: adv_checkout cancelOrder properly calling set_status
  • [4.3.14] ui-feat: added missing order_track view in main/default templates
  • [4.3.14] cd-fix: replaced any ->registry->get code with cached call methods for settings in that way any time a setting is saved, clean cache must occure.
  • [4.3.14] ui-update: payment settings page pretty styled
  • [4.3.14] cd-feat: ordering in payment methods using two lists multiselect method
  • [4.3.14] cd-fix: added role access to user creation in Adv_auth restrict admin to create superusers
  • [4.3.14] cd-feat: allow metatag fileds to admin users
    • cd-feat: added canAccess() function in admin_helper
    • cd-fix: added metatags fields access check in views and controllers
  • [4.3.14] cd-fix: adv_skroutz_orders_admin reject function fetch new order status from skroutz after a successful reject call and update status accordingly, changed class variable apiSettings and functions setupPaymerch and SetupShipping visibility from private to protected
  • [4.3.14] cd-fix: adv_skroutz_orders_model added return type to function getSkroutzOrdersListAdminCount, added visibility to function createSkroutzFakeCart
  • [4.3.14] cd-fix: adv_skroutz_orders_admin and adv_skroutz_orders_model number_of_parcels array now uses implode/explode instead of serialize/unserialize when saving to and fetching from db. patch function patchSkroutzOrdersNumberOfParcels to update existing records
  • [4.3.14] cd-fix: order_model function calculateOrderWeight fixed misplaced parenthesis that caused wrong weight calculation, changed access to protected
  • [4.3.14] ui-fix: admin orders list fix the payway selected value of the select box
  • [4.3.13] cd-update: change base url setting for acs library Acs.php
  • [4.3.13] cd-update: disable strict equality when checking google recommendation settings
  • [4.3.13] ui-fix: fix typo in homepage var for google recommendation
  • [4.3.13] cd-fix: In the front controller set the default values in the settings in case of missing records
  • [4.3.12] ui-fix: transfer point system (duplicate) settings from previous settings.php to point system
  • [4.3.12] ui-fix: admin menu ui fixes in responsive views
  • [4.3.12] cd-fix: add multiselect functionallity to payways
  • [4.3.12] cd-fix: move skroutz settings to third party providers
  • [4.3.12] cd-fix: acs rest api url replaced Acs.php:31 and fetching from database.
  • [4.3.12] cd-fix: admin email settings replaced Adv_mailer.php:313 and fetching from database.
  • [4.3.12] cd-feat: personalized export searched orders
    • added new export function Adv_orders_admin/exportSearchedOrders()
    • added new export function getBasketsForSpecialExport() && getOrdersListIDAdminExport() in Adv_order_basket_model
    • changed behavior of personalized export button orders/list.php
  • [4.3.12] cd-fix: null value on dspl save settings
  • [4.3.12] cd-feat: Add the dspl products in the Home page of the project agora
  • [4.3.12] ui-update: added step=".01" to numeric field amount (now amount_from) in admin/gifts/[create|update]
  • [4.3.12] ui-fix: In admin/gifts/update products now display final_price as their price value instead of price (without discount) upon page load.
    • The issue was that during new product insertion to the list product's final_price was used to display the product price but upon saving and reloading the page the displayed product price would change to price (total product price without the discount).
  • [4.3.12] ui-update: Hardcoded label text of form elements related to amount price range in gift/[create|update] has been localized
  • [4.3.12] ui-fix: The first product barcode is now displayed in admin panel gift/[create|update]
  • [4.3.12] ui-update: In admin panel views of gifts/[create/update] have been modified accordingly to update the price amount to a range (from - to)
  • [4.3.12] cd-update: Gift's table structure has been modified. Field amount has been renamed to amount_from and a new field has been added with the name amount_to
  • [4.3.12] cd-update: The signatures of the following gift validation rules under Adv_gifts_order have been modified:
    • protected function ruleProductsValidator($masterId, $reqs, $productsInCart)
      • to: protected function ruleProductsValidator($masterId, $reqs, $productsInCart): int
    • protected function ruleProductsValidatorOneGift($masterId, $reqs, $productsInCart, $giftToReturn = 0)
      • to: protected function ruleProductsValidatorOneGift($masterId, $reqs, $productsInCart, $giftToReturn = 0): int
    • protected function ruleProductsCombinationValidator($masterId, $reqs, $productsInCart)
      • to: protected function ruleProductsCombinationValidator($masterId, $reqs, $productsInCart): int
    • protected function ruleVendorsValidator($masterId, $reqs, $productsInCart)
      • to: protected function ruleVendorsValidator($masterId, $reqs, $productsInCart): int
    • protected function ruleTotalCartValidator($amount)
      • to: protected function ruleTotalCartValidator($amountFrom, $amountTo): int
    • protected function ruleProductsTotalCartValidator($masterId, $reqs, $productsInCart, $amount)
      • to: protected function ruleProductsTotalCartValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
    • protected function ruleProductsTotalMinAmountValidator($masterId, $reqs, $productsInCart, $amount)
      • to: protected function ruleProductsTotalMinAmountValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
    • protected function ruleProductsTotalMinPriceValidator($masterId, $reqs, $productsInCart, $amount)
      • to: protected function ruleProductsTotalMinPriceValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
    • protected function ruleVendorsTotalCartValidator($masterId, $reqs, $productsInCart, $amount)
      • to: protected function ruleVendorsTotalCartValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
    • protected function ruleVendorsTotalMinAmountValidator($masterId, $reqs, $productsInCart, $amount)
      • to: protected function ruleVendorsTotalMinAmountValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
    • protected function ruleVendorsTotalMinPriceValidator($masterId, $reqs, $productsInCart, $amount)
      • to: protected function ruleVendorsTotalMinPriceValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
  • [4.3.12] cd-fix: adv_skroutz_orders_admin fix type in payway from bank_tansfer to bank_transfer
  • [4.3.12] cd-feat: Elta transfer provider. Added elta library in eshop/libraries. Added elta settings in adv_settings controller and settings view. Modified adv_orders_admin, adv_orders_model (setPendingwithVoucher, cancelJobs and closeJobs functions), adv_customer order_track function, cronjob get_gtstatus function and orders/list view to accomodate the elta transfer provider. shopmodule_helper added elta track link in getLinkForTransferProvider and elta name in getNameOfTransferProvider, added elta related entries in adv_advisable_lang and adv_theme_lang
  • [4.3.12] cd-feat: google recommendations ai products in homepage and product page docs here
  • [4.3.12] cd-fix: escape query in Registry::get_regval and getGroupAsArray
  • [4.3.12] cd-fix: Removed thousands separator from convert_europrice that it was getting from number_format on 4th parameter
  • [4.3.12] cd-fix: merged skroutz_customers and skroutz_customer_addresses tables into skroutz_orders table. Added fields number_of_parcels_selected, collection_point_address, pickup_location_selected to store selected options whene accepting a skroutz_order. Schema/skroutz_orders table definitions updated and patch function patchSmartCartTables added. Lang fixes in skroutz_orders controller and view_files, new entries in adv_advisable_lang.
  • [4.3.12] cd-fix: Adv_skroutz_orders_admin and adv_skroutz_orders_model adjusted to changed table structure. src/skroutz/SkroutzOrders added function getOrderData, fixed function signatures. Webrun function skroutzWebhookRequest insert skroutz_order in db only if state is open, output error header if skroutz_order update fails.
  • [4.3.12] cd-fix: added cronjob function removeOldSkroutzOrders
  • [4.3.12] cd-debt: psr and early exit on webrun::skroutzWebhookRequest
  • [4.3.12] ui-fix: use appVersionFriendly in footer version output
  • [4.3.12] ui-fix: admin.scss remove override on bootstrap panel-title (remove width:50%)
  • [4.3.12] cd-fix: product_model::getProductsByIds add shop_product_mui.video in select.
  • [4.3.11] cd-feat: Product in orders reports.
  • cd-feat: all js functionallity was moved to new file reporting/product_in_orders.js.
  • cd-feat: Adv_order_model::getProductCodeOrders() modified to use more sql query filters.
  • cd-feat: Adminrun::getOrdersForProductCode() now it has json output.
  • ui-feat: The feature was modified to use datatables.js instead of php view.
  • [4.3.11] ui-feat: admin footer copyright redesign
  • [4.3.11] ui-feat: admin/menu restructure
  • [4.3.11] ui-feat: admin/menu redesign and translate
  • [4.3.11] ui-feat: added Cera Pro font to admin
  • [4.3.11] cd-feat: XmlDbIdkey defined in config/app and contains which field to use as uid in each feed controller. Each feed controller (AdvSkroutzXml, AdvAgoraCatalog, etc) sets in its constructor the respective value for product's uid to the inherited dbIdkey field. Adv_skroutz_orders_model changed accordingly. AdvXml controller sets dbIdkey to id as default.
  • [4.3.11] ui-feat: Admin order create and edit pages have been modified to show which gift rules apply to which products, when product selections apply. For this feature to work, a new mustache template has been created: application/views/admin/orders/js_gift_rule_block.php
  • [4.3.11] cd-feat: Added new .env environment setup constant APP_CDN_FORCE_DISABLE which if defined & set to true, the application will ignore the cdn host and will always resolve assets to the defined APP_BASE_URL instead
  • [4.3.11] cd-fix: Fixed issues regarding error reporting messages passing wrong parameters and using sprintf instead of utilizing t() helper properly in several places in Adv_orders_admin
  • [4.3.10] cd-feat: Automated asset versioning. Assets referenced in laravel mix (both for front and admin vendors) will now be included in the auto-generated respective mix-manifest.json. (admin-mix-manifest.json for admin and front-mix-manifest.json for front). Using assetUrl the system will now attempt resolve requested asset urls from manifests. If the asset can be resolved from the manifest, the $version parameter will be ignored entirely as any changes made to the asset are considered to be automatically tracked by webpack. With this change, upon every commit before deployment you have to ensure that you are staging both front-mix-manifest.json and admin-mix-manifest.json in your commit.
  • [4.3.10] cd-feat: Created new vue plugin for bridging the gap between Vue and jQuery as it is needed for the new gift choice redesign. (The need for this bridge plugin is due to the new gift choice design which uses slick slider and subsequently relies on jQuery framework to function). The plugin is called jquery-vue-bridge-plugin and can be found under assets/vue/utilities. It has been imported and enabled only for main/vueapp as it is the only instance of vueapp that gift choices have been implemented. For clients using design, front or other, custom Vue instances you can use this plugin to bring gift choices with the new design if needed. You may also use this plugin to replace packages such as vue-slick.
  • [4.3.10] ui-update: By default, gifts without gift choices will no longer display the gift rule's description or image. However, this behaviour can now be easily changed as the deciding predicate has been exported to a single computed property shouldShowDescription in main/AdvCartGiftRowGroup
  • [4.3.10] cd-update: Removed problematic gift rule filter returned from Adv_gifts_model::filterGiftRuleByProductIdRequirements as a different system for filtering active gift rules is implemented by matching the results of Adv_gifts_model::getGiftForProductsInCart. With this change, CartResource::getGifts() will now expose all found giftIds in the property CartResource::$cartGifts which is then used by CartResource::getGiftRules() to filter in the applicable rules. Similar system for validating applicable rules has also been applied for admin panel in Adv_orders_admin::validateProductGiftSelection().
  • [4.3.10] ui-update: Gift previews and choices have been redesigned. In this redesign, element class names have been refactored.
  • [4.3.10] cd-feat: In the facebook catalog xml feed and google catalog feed order and limit the products by stock
  • [4.3.10] cd-feat: Feature skroutz-smartcart. Changes are:
    • Controller Adv_skroutz_orders_admin and model adv_skoutz_orders_model with respective subclasses added in eshop module. Views list, accept, reject and customer_info added in views/admin/skroutz_orders
    • SkroutzOrders api client for skroutz orders api added in src/skroutz. Function skroutzWebhookRequest added in webrun controller.
    • views/admin/orders/list appropriatte icon for skroutz smart cart orders, added link for skroutz_orders if enabled. Exempted smartcart created shop_orders from clone, repeat, add/remove points. Adv_orders_admin provides the setting.
    • Required settings added in third-party-settings. dbIdKey value assignment moved to config/app, controller AdvXml adjusted accordingly.
    • Schema fixes in shop_order.sql added field provider and new table definitions in schema/skroutz_orders. Acompanying patch functions addProviderToShopOrder and createSmartcartTables
    • Patch function smartCartSettings to add smart settings to db.
  • [4.3.10] cd-feat: In the product admin we added a property with the allowed roles to change the metatags in the products
  • [4.3.10] cd-fix: Changed endDate query for orders search on admin panel to properly get orders that have been made or changed on the endDate given.

Notes

  • [4.3.19] need npm install && npm run production && npm run admin-production
  • [4.3.17] need npm run production && npm run admin-production
  • [4.3.16] need npm run production && npm run admin-production and composer dump
  • [4.3.16] To enable search terms in google analytics go to admin settings -> view settings: Site Search Tracking => on and Query parameter => q
  • [4.3.16] For templates other than default and main add ecomnTag.searchTerms(searchTerm) after posting for search. Example from main template
php
searchPost(searchTerm) {
  if (searchTerm.length > 2) {
    $.post(buildSearchUrl(searchTerm), { queryString: "" + searchTerm + ""}, function (data) {
        $("#searchContainer").html(data).slideDown('fast');
        $("#searchState").attr('style','display: none');
        $("#searchIcon").attr('style','display: block');
    });
+   ecomnTag.searchTerms(searchTerm)
  }
}
  • [4.3.16] Add glami in tag manager providers setting to enable glami pixel, and clear cache;
  • [4.3.16] Execute patch/glamiXmlSetting and patch/addGlamiXmlFieldInProduct;
  • [4.3.14] Run patch/patchSkroutzOrdersNumberOfParcels. When merging client i-natural in skroutz_orders_admin controller remove class variable apiSettings, constructor and functions setupPaymerch, setupShipping and reject and in function accept replace line $this->render['number_of_parcels'] = unserialize($skroutzOrder->number_of_parcels); with $this->render['number_of_parcels'] = explode(',', $skroutzOrder->number_of_parcels);
  • [4.3.12] In the home page of the no main templates you have to add a product list in the home page for the dspl products
  • [4.3.12] Updates to gift schema have been made. Needs patch/addColumnsAmountFromAndToForGiftsTable
  • [4.3.12] new class GoogleRecommendations need composer dump and addition of axios in vendors requires npm build
  • [4.3.12] Run patch/patchSmartCartTables. If client has active smartcart add cronjob removeOldSkroutzOrders
  • [4.3.11] Check in application/controllers each feed controller (i.e: Agora_catalog, Bestprice, Criteo_catalog, Facebook_catalog, Google_catalog, Linkwise, Skroutz) and check if a value to property dbIdkey is assigned. Copy the value to the respective key in config/app in xmlDbIdKey array and remove the assignment from the controller.
  • [4.3.10] For clients who have overridden AdvSkroutzXml::$dbIdKey in Skroutz.php you have to remove the override and update the config key config/app/[xmlDbIdKey] accordingly. EDIT: After further testing it was identified that in this release (4.3.10) the xml product id <-> ecommercen product id mapping which was initially done in a class property and has since migrated to a config item, the migration appears to be problematic as it does not address the issue of having differently mapped ids for different xml consumers. (i.e. project agora xml may use old_id where as skroutz may use id for its xml id mapping). This is expected to be addressed in the next version!
  • [4.3.10] Check client if order_model function getOrdersListAdminResults is overriden and if so add field provider in select clause.
  • [4.3.10] Clients who have external asset files that are not tracked by webpack, it is advised to include those files in webpack's mixin in a separate version() task so that automatic version tracking can be applied to them too.
  • [4.3.10] Gifts and gift choices in cart have been redesigned from the ground up. Upon merging with a client, and especially if said client utilizes the main template, checking for styling overrides is highly advised.
  • [4.3.10] Executing npm run production && npm run admin-production is required!
  • [4.3.10] Execute patch/smartCartSettings, patch/addProviderToShopOrder and patch/createSmartcartTables
  • [4.3.10] Needs composer dump
  • [4.3.10] To enable smartcart set the required settings in third party settings. An api key is required and smart cart must be enabled in skroutz merchant smartcart area. Also the webhook url must be set in skroutz skroutz merchant smartcart area. If erp interconnection exists then they must be notified to adjust the interconnection to smartcart's peculiarities
  • [4.3.10] If you want to allow users other than Advisable to change the metatags change the property in over

version 4.3.0x

Changelog

  • [4.3.9] cd-fix: In typo in registry in the google recaptcha trait
  • [4.3.9] cd-feat: In the admin panel added a controller that generates the xml feeds of the products (only for Advisable users)
  • [4.3.8] ui-fix: Added missing case to hide gift choice block if no choices are available in AdvGiftChoiceBlock for checkout.php
  • [4.3.8] ui-fix: Fix issue with badges still being displayed even in the case of gift selection being invalid
  • [4.3.8] ui-update: Modified cartGiftRowGroup style
  • [4.3.8] ui-fix: Fixed issues with cartGiftRowGroup breaking css when image - or description - or both are not available
  • [4.3.8] cd-feat: Added filter callback prop for AdvCartGiftList that can be used to filter through to-be-rendered gift rules & used said filter in giftChoiceMixin (and by extensions, components that include the mixin which are related to enabling user to select gifts) to filter out gift rules without any choices from rendering
  • [4.3.8] cd-fix: Fixed issue with Adv_gifts_model::getActiveGiftRulesChoicesAndRequirementsFromProductIds throwing unknown index exception when a gift rule is having no choices or requirements
  • [4.3.8] cd-fix: Filter Adv_gifts_model::filterGiftRuleByProductIdRequirements has been modified to not filter out gift rules that do not have specific product requirements
  • [4.3.8] cd-feat: Created main mixin giftChoiceMixin to remove duplicate logic between AdvGiftChoiceModal and AdvGiftChoiceBlock as they are essentially the same component
  • [4.3.8] cd-feat: Add in the third party settings the enable and disable of the dspl products of the Project Agora
  • [4.3.7] cd-fix: Vuex getter giftChoicesGrouppedByGiftId has been renamed to giftChoicesGroupedByGiftId and is no longer filtering out gifts that their gift_user_choice_count is &lt;= 0
  • [4.3.7] cd-fix: Vue components inheriting cartGiftOptionsMixin mixin that pass through enable-picker prop have been updated to use the new method shouldUsePicker
  • [4.3.7] cd-fix: Fixed issue in Adv_orders::prepareGiftsForCheckoutView ignoring gifts without any selections and marking them as invalid.
  • [4.3.6] cd-fix: fix in the getCatProductsHits of the product_model to fix the topProductHits query in case of no subcategories
  • [4.3.6] ui-update: Modified orders_admin/edit and orders_admin/create page to accomodate gift selections. In the place of gift choices, checkboxes will appear that indicate whether the gift should be included in the order.
  • [4.3.6] ui-update: Modified orders_admin/edit and orders_admin/create page to include a checkbox for whether gift selections should be validated. Turning the validation off (by unchecking said checkbox), will forcefully include user's gift choices without any validation, ignoring whether those choices obey the involved gift rules.
  • [4.3.6] ui-update: Modified flow of frontoffice checkout page for main template. If gift choices are available, they will be displayed at the bottom part of the checkout and if user has forgotten to make any selections a modal will appear with said gift choices.
  • [4.3.6] cd-feat: Created main/vue component AdvCartGiftRowGroup that groups gift listings by gift rules.
  • [4.3.6] cd-update: Modified main/vue component AdvCartGiftList to:
    1. Add support for gift selection picker.
    2. Replace child AdvCartGiftRow loop with AdvCartGiftRowGroup & group displayed gift items by gift rules
    3. Change gift data provider from store.getters.giftContents to store.getters.giftChoicesGrouppedByGiftId
    4. Include mixin cartGiftOptionsMixin & remove prop mini-cart as it has migrated in said mixin
  • [4.3.6] cd-update: main/vue component AdvCartGiftRow is now inheriting cartGiftOptionsMixin which means some of the available props for this component have been modified/created:
    • Added togglable prop-setting enable-picker which if set to true, will additionally include a checkbox that enables user gift selection.
    • Prop setting mini-cart has been migrated to mixins/cartGiftOptionsMixin.
  • [4.3.6] cd-feat: Created new main/vue mixins cartGiftOptionsMixin and giftSelectionMixin
  • [4.3.6] cd-feat: Created new main/vue components AdvGiftChoiceModal and AdvGiftChoiceBlock as wrappers to the gift choice panel. One in the form of a modal, the other in the form of a single column block.
  • [4.3.6] cd-feat: Created new main/vue component AdvReactiveFormInputManipulator that:
    1. Observes any target vuex getter returning an array of objects containing names and values (in the format [{name: 'inputName1', value: 'inputName1Value'},...])
    2. Reactively spawns in-place hidden input fields based on the contents of the target getter.
  • [4.3.6] cd-feat: Added new vue locale namespace giftSelection which includes all locales related to gift selection & gift user choice panels.
  • [4.3.6] cd-feat: New localizations have also been added for the admin panel portion of gift selection feature, and can be found in adv_advisable_lang of ecommercen namespace.
  • [4.3.6] cd-update: main/preview-order.js function setOrderButtonTrigger has been modified to also validate gift selections upon form submit stage.
  • [4.3.6] cd-feat: Implemented Patch::addUserChoiceCountFieldForGiftsTable()
  • [4.3.6] cd-update: Schema reference #schema/gifts.sql has been updated to include the alterations made to the gifts schema structure.
  • [4.3.6] cd-update: Mustache admin template js_gift_item.php has been modified to also include a selection checkbox (per gift)
  • [4.3.6] ui-update: Views admin/gifts/create.php and admin/gifts/update.php have been modified to include the numeric field gift_user_choice_count
  • [4.3.6] cd-debt: Improved code quality for method Adv_gifts_model::getGiftForProductsInCart()
  • [4.3.6] cd-update: Signature of method Adv_gifts_model::getActiveGiftRulesForRequiredProducts has been modified to include flag $fetchCaptions which defaults to false and if true, will also fetch captions (gift image/description).
  • [4.3.6] cd-feat: Created method Adv_gifts_model::getActiveGiftRulesChoicesAndRequirementsFromProductIds which fetches all active gift rules, choices and requirements from a given set of product ids
  • [4.3.6] cd-feat: Created filter function Adv_gifts_model::filterGiftRuleByProductIdRequirements() which can be used to filter through a returned set of gifts to match gift rules with choices containing a given set of product ids
  • [4.3.6] cd-update: In Adv_order::preview implemented handling of gift choices & gift setup has been extracted to a separate Adv_order::prepareGiftsForCheckoutView
  • [4.3.6] cd-update: Adv_orders_admin::add() and Adv_orders_admin::edit() have been updated to handle gift choices.
  • [4.3.6] cd-update In Adv_order::validation() a new validation rule has been added that will apply additional validations to gift selections whenever order submitted contains post flag product_gifts_enable_checks=1
  • [4.3.6] cd-update: CartResource::getData() has been updated to include gift rules
    • Gift rules are obtained by newly implemeted method CartResource::getGiftRules() and are filtered for front view in CartResource::mapGiftRuleFieldsForJson()
  • [4.3.6] cd-update: Vuex state action setCartData has been modified to initialize giftRules initial application data object.
  • [4.3.5] cd-fix: registry_model.php replace code query with sql query
  • [4.3.5] cd-fix: mailer.php fixed setFrom function to properly get sender name for emails
  • [4.3.4] cd-update: ApcoPay/Piraeus provider - force streetNo = 1 to bypass requested format in address
  • [4.3.4] ui-fix: admin ecommercen logo update
  • [4.3.4] cd-feat: settings were moved from files to database
  • [4.3.4] cd-feat: In admin panel search the products if skroutz is enable
  • [4.3.4] cd-feat: In admin panel order the products by turnover
  • [4.3.4] cd-feat: In admin panel products mark the 500 top sellers products
  • [4.3.3] cd-fix: chckout::piraues fix typo for store and country iso code
  • [4.3.3] cd-fix: config/admin_menu fixed link eshop/reporting/productInOrders
  • [4.3.2] cd-fix: orders_admin::repeat usage of getArrayOfStores
  • [4.3.2] cd-debt: add correct version to patch controller for addCountries method
  • [4.3.2] cd-debt: Clear testing controller
  • [4.3.2] ui-fix: checkout viue In the main and default template for the send to counties
  • [4.3.1] cd-fix: checkout::alpha passing eurobank key instead of alpha for digest

Notes

  • [4.3.9] Needs composer dump
  • [4.3.8] In the templates that are not main or default, add in the Search Page, Cart Page, Product Category List and Product Pga the dspl products list (use a slider of products)
  • [4.3.7] Executing npm run production is required
  • [4.3.6] Executing npm run production && npm run admin-production is required
  • [4.3.6] Executing patch/addUserChoiceCountFieldForGiftsTable is necessary as base gifts schema has been altered in this version
  • [4.3.4] Executing patch/settingsToDatabase is necessary to transfer setting from files to database
  • [4.3.4] Guide: How to add settings to database
  • [4.3.4] In admin panel check for overs in the index of the products admin index and in the getProductsAdmin()

version 4.3.0

Upgrade from latest 4.2 version

  1. execute patch/addCountries to populate country and county database and update data on existing tables (customer, store, order).
  2. In views
    • replace setCountryEshopCombo() with $countriesCounties->availableCountriesDropDown($language_abbr)
    • replace setCountryEshopCombo(true) with ['' => t('selectCountry')] + $countriesCounties->availableCountriesDropDown($language_abbr)
    • replace setCountyEshopCombo($country) with $countriesCounties->availableCountiesDropDown($language_abbr)[$country]
  3. Check usage of getArrayOfStores, buildStoreLabel and getCountryAndCountyDropdownData. Signature changed.
  4. Check for overrides in controllers, models, libraries and helpers to remove if applicable or update as per current code changes
  5. Check erp - county codes changed

Removed Code

  • countries_counties_helper has only getCountryAndCountyDropdownData which is deprecated. setCountryEshopCombo and setCountyEshopCombo along with any setCountyEshopComboXX functions are removed.
  • config application/config/countries.php is removed.
  • Settings controller does not pass $allCountries to views. use $countriesCounties->availableCountriesDropDown($language_abbr)

Code Changes

CountriesCounties

new front and admin class property countriesCounties of type CountriesCounties also passed in render data as $countriesCounties

CountriesCounties library with methods

  • countries() return indexed by country code raw db data
  • availableCountries() same as countries filtered for available countries
  • countriesDropDown($lang = '') array with country code as key and description as value (if lang is not set or not existent in data it defaults to english)
  • countiesDropDown($lang = '') array with country code as key and array values of county codes with descriptions (if lang is not set or not existent in data it defaults to english)
  • availableCountriesDropDown($lang = '') same as countriesDropDown for available countries
  • availableCountiesDropDown($lang = '') same as countiesDropDown for available countries
  • phoneCodes() array with country code as key and phone prefix as value
  • availablePhoneCodes() same as phoneCodes filtered for available countries
  • getCountryRawDataCodes to get specific country's raw master db data

Payway Updates

  • ApcoPay update for Piraeus for 3D Secure v2
  • Piraeus update for 3D Secure v2
  • AlphaBank update for 3D Secure v2
  • EuroBank update for 3D Secure v2

Various Changes

Checkout cleanup paypal duplicate code with setPaypalItems method.

Signature change in functions getArrayOfStores and buildStoreLabel of store_helper.

getArrayOfStores from (array $stores, string $pattern = 'address city, country - postal county') to (array $stores, $countriesCounties, string $lang, string $pattern = 'address city, country - postal county') and buildStoreLabel from ($store, $countriesCounties, string $lang, string $pattern = 'address city, country - postal county'): string to ($store, $countriesCounties, string $lang, string $pattern = 'address city, country - postal county'): string where $countriesCounties is of type AdvCountriesCounties

Signature change in countries_counties_helper::getCountryAndCountyDropdownData as with store_helper.

List of File Changes

ADDED

  • #schema/country.sql
  • #schema/country_mui.sql
  • #schema/county.sql
  • #schema/county_mui.sql
  • application/libraries/CountriesCounties.php
  • application/modules/eshop/models/Country_model.php
  • application/modules/eshop/models/County_model.php
  • ecommercen/eshop/models/Adv_country_model.php
  • ecommercen/eshop/models/Adv_county_model.php
  • ecommercen/libraries/AdvCountriesCounties.php
  • src/Piraeus/Recurring/Type/PireausEnumRecurringIndType.php
  • src/Utils/PhoneHelper.php

DELETED

  • application/config/countries.php

MODIFIED

  • application/config/app.php
  • application/config/merchant.php
  • application/controllers/Adminrun.php
  • application/controllers/Patch.php
  • application/controllers/Testing.php
  • application/core/Front_c.php
  • application/views/admin/customers/view.php
  • application/views/admin/footer_js.php
  • application/views/admin/orders/create.php
  • application/views/admin/orders/edit.php
  • application/views/admin/orders/invoice.php
  • application/views/admin/orders/invoice_body.php
  • application/views/admin/orders/list.php
  • application/views/admin/orders/update.php
  • application/views/admin/settings/settings.php
  • application/views/admin/stores/create.php
  • application/views/admin/stores/list.php
  • application/views/admin/stores/update.php
  • application/views/default/components/library/customer/order_item.php
  • application/views/default/components/library/footer/footer_js.php
  • application/views/default/layouts/library/checkout/checkout.php
  • application/views/default/layouts/library/checkout_complete/alphabank/proccess.php
  • application/views/default/layouts/library/checkout_complete/eurobank/eurobank_process.php
  • application/views/default/layouts/library/customer/account.php
  • application/views/default/layouts/library/customer/update_personal_info.php
  • application/views/default/layouts/library/customer/update_shipping_info.php
  • application/views/main/components/customer/order_item.php
  • application/views/main/components/footer/footer_js.php
  • application/views/main/layouts/checkout/checkout.php
  • application/views/main/layouts/checkout_complete/alphabank/proccess.php
  • application/views/main/layouts/checkout_complete/eurobank/eurobank_process.php
  • application/views/main/layouts/customer/account.php
  • application/views/main/layouts/customer/order_details.php
  • application/views/main/layouts/customer/order_history.php
  • application/views/main/layouts/customer/update_personal_info.php
  • application/views/main/layouts/customer/update_shipping_info.php
  • application/views/main/layouts/customer/wishlist.php
  • assets/admin/scss/admin.scss
  • assets/design/js/preview-order.js
  • assets/main/js/preview-order.js
  • composer.json
  • composer.lock
  • ecommercen/checkout/controllers/Adv_checkout.php
  • ecommercen/core/Adv_admin_controller.php
  • ecommercen/core/Adv_front_controller.php
  • ecommercen/eshop/controllers/Adv_orders_admin.php
  • ecommercen/eshop/controllers/Adv_stores_admin.php
  • ecommercen/helpers/countries_counties_helper.php
  • ecommercen/helpers/eshop_helper.php
  • ecommercen/helpers/shopmodule_helper.php
  • ecommercen/helpers/store_helper.php
  • ecommercen/settings/controllers/Adv_settings.php
  • src/ApcoPay/Providers/Piraeus.php
  • src/ApcoPay/RequestData.php
  • src/Piraeus/Issue/PireausServiceIssue.php
  • src/Piraeus/Issue/Response/PireausStructIssueNewTicketResponse.php
  • src/Piraeus/Issue/Ticket/PireausStructIssueNewTicket.php
  • src/Piraeus/PireausSoapClient.php
  • src/Piraeus/PireausWsdlClass.php
  • src/Piraeus/Ticket/Request/PireausStructTicketRequest.php
  • src/Piraeus/Ticket/Response/PireausStructTicketResponse.php