Skip to content
CAI
Software that uses CAICheck a score

fecshop/yii2_fecshop

23.7

Critical · 19 September 2026

217.5k

lines of production code

PHP

with JavaScript

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

Fecmall is a multi-platform e-commerce system providing a backend administration interface, a public storefront, and a REST API for third-party integration. The platform enables administrators to manage product catalogs, orders, customers, and CMS content while configuring complex store settings such as payment gateways, caching, and multi-language support. It supports bulk data operations via Excel imports and offers a modular architecture for extensions and custom themes across web and mobile interfaces.

How it got here

2016 — Initial framework and core module development

81 changes.

This period established the foundational architecture of the Fecmall ecommerce platform, introducing the core Yii2 extension structure, database models, and service layer. It implemented the initial configurations and modules for the frontend storefront, admin panel, and API, while adding essential features such as product catalog management, customer authentication, and a one-page checkout system.

2017 — HTML5 storefront and API expansion

78 changes.

This period focused on building a comprehensive HTML5 mobile storefront, including catalog, checkout, and customer modules, alongside a parallel REST API server for headless clients. The work also expanded payment gateway support to include Alipay and WeChat Pay, while significantly overhauling the admin interface with new themes, RBAC refinements, and system management tools.

2018–2019 — Admin configuration and extension management

99 changes.

This period focused on building a comprehensive administrative interface for managing system configurations, including granular control over caching, payment gateways, and multi-store settings. It also introduced features for managing extensions via a dedicated market and generator, alongside bulk data import capabilities for products and categories.

2020–2021 — Admin panel feature expansion

8 changes.

This period focused on expanding the admin panel with dedicated management interfaces for product brands, brand categories, and customer contact messages. It also introduced configuration options for FecShop Analytics and the Farsi locale, while bundling Font Awesome assets locally to resolve HTTPS display issues.

Features

Add Alipay payment configuration UI

A new configuration manager view for Alipay payments has been added to the admin theme. This introduces a dedicated form interface in the admin panel, allowing administrators to manage Alipay-specific settings through a styled dialog with save and cancel actions.

app/appadmin/theme/base/default/config/paymentalipay · high confidence

Add Alipay payment configuration block

Introduces a new admin configuration interface for Alipay payments, allowing administrators to set environment mode (sandbox/product), App ID, Seller ID, RSA keys, and SDK-specific settings like work directory and development mode.

app/appadmin/modules/Config/block/paymentalipay · high confidence

Add Alipay payment controller for standard checkout flow

Introduces the Alipay Standard Controller (\StandardController\) in the appfront Payment module, enabling users to initiate Alipay payments, handle post-payment redirects, and process Instant Payment Notifications (IPN) from Alipay. The controller exposes three actions: \actionStart\ to prepare the payment redirect, \actionReview\ to handle the return from Alipay and redirect to the success page, and \actionIpn\ to receive and log asynchronous payment notifications.

app/appfront/modules/Payment/controllers/alipay · high confidence

Add AppHTML5 Account configuration form

A new configuration manager file has been added for the AppHTML5 Account settings within the admin theme. This change introduces a form interface that allows administrators to edit and save account configuration details, including support for language attributes and textarea inputs, along with the necessary styling for the dialog layout.

app/appadmin/theme/base/default/config/apphtml5account · high confidence

Add Appfront Home configuration manager view

A new configuration manager view for the Appfront Home settings has been added. This file provides the user interface for managing appfront home configurations, including a form for saving changes and specific CSS styling for the configuration dialog and form elements.

app/appadmin/theme/base/default/config/appfronthome · high confidence

Add Appserver Base Configuration UI

A new configuration interface for Appserver Base settings has been added to the admin theme. This change introduces a form-based UI that allows administrators to view and modify base appserver parameters, including fields for ID, language attributes, and text areas, with standard save and cancel actions.

app/appadmin/theme/base/default/config/appserverbase · high confidence

Add Appserver Catalog configuration UI

The admin interface now includes a dedicated configuration page for Appserver Catalog settings. This change introduces a new form view that allows administrators to edit and save catalog-related parameters through a styled dialog interface with validation and save/cancel actions.

app/appadmin/theme/base/default/config/appservercatalog · high confidence

Add Appserver Store configuration UI

A new configuration interface for Appserver Store settings has been added to the admin theme. This change introduces a form-based UI that allows administrators to view and save Appserver Store configuration data, including fields for store identification and editable attributes, accessible via the admin panel.

app/appadmin/theme/base/default/config/appserverstore · high confidence

Add Customer console module

A new Customer module has been added to the console application. This module extends the base ConsoleModule and configures its controller and block namespaces to reside within the Customer module's directory structure, enabling console-based customer management operations.

app/console/modules/Customer · high confidence

Add Customer module structure for admin panel

The admin panel now includes a new Customer module, providing the foundational controller and module configuration files necessary to manage customer data. This change introduces the \CustomerController\ and \Module\ classes, establishing the routing and layout structure (using \main\_ajax.php\) for this specific section of the admin interface.

app/appadmin/modules/Customer · high confidence

Add Google OAuth 2.0 social login support

The application now supports logging in via Google accounts. This change introduces a new \lib/google\ directory containing the Google API PHP Client library (including OAuth 2.0 authentication, caching, and IO components) and a \Social\ wrapper class that handles the Google sign-in flow, including redirect URI management and user profile retrieval.

lib/google · high confidence

Add HTML5 404 error page template

The apphtml5 theme now includes a dedicated 404 error page view. When a page is not found, users will see a branded error screen with a 404 image, a message stating the page could not be found, and a link to return to the homepage.

app/apphtml5/theme/base/html5/site · high confidence

Add HTML5 app widgets with store-aware caching

New widget classes (Footer, Head, Headers, Menu, Page) are introduced in the apphtml5 module to support the HTML5 storefront. These widgets implement the BlockCache interface, ensuring that cached content is correctly scoped by the current store, language, currency, and application context to prevent data leakage between stores or locales.

app/apphtml5/widgets · high confidence

Add HTML5 article page template

A new view template for the CMS article page has been added to the HTML5 theme. This file defines the layout structure, including the article title, content area, and integration of the flash message widget, establishing the visual presentation for article pages on mobile devices.

app/apphtml5/theme/base/html5/cms/article · high confidence

Add HTML5 catalog search module

Introduces a new Catalogsearch module for the apphtml5 frontend, providing the controller, block logic, and module initialization required to render product search results, handle pagination, and support AJAX-driven product loading and attribute filtering.

app/apphtml5/modules/Catalogsearch · high confidence

Add HTML5 customer address management views

The HTML5 theme now includes dedicated views for managing customer addresses. Users can view their saved addresses on the address book page, which lists name, full address details, and default status, and perform actions to edit or delete entries. A new edit form allows users to update contact information including email, name, phone, country, state, city, street lines, and zip code, with CSRF protection and dynamic country-based state selection.

app/apphtml5/theme/base/html5/customer/address · high confidence

Add HTML5 mobile search results page with infinite scroll and filtering

The HTML5 mobile theme now includes a dedicated search results view (catalogsearch/index/index.php) that supports infinite scrolling for paginated product lists, a popup-based filter interface for refining by attributes and price, and lazy-loaded images. A corresponding toolbar component (toolbar.php) allows users to adjust the number of products displayed per page. This change introduces the mobile-specific search UI structure and client-side behavior for browsing search results on HTML5 devices.

app/apphtml5/theme/base/html5/catalogsearch · high confidence

Add HTML5 payment module with PayPal, Alipay, and WeChat support

Introduces a new Payment module for the apphtml5 (HTML5/WAP) storefront, providing controllers and block logic for PayPal Express and Standard, Alipay Standard, and WeChat JSAPI/H5 payments. This enables users on mobile browsers to complete checkout via these specific gateways, including handling payment initiation, IPN callbacks, and post-payment order confirmation.

app/apphtml5/modules/Payment · high confidence

Add PayPal Express and Standard checkout UI templates for HTML5

This change introduces the HTML5 view templates for PayPal payment processing. It adds the PayPal Express checkout review page, which allows users to confirm billing and shipping addresses, select a shipping method, apply or cancel coupon codes, and add order remarks before placing the order. It also includes the PayPal Standard checkout start page, which displays a redirect form to send customers to the PayPal website to complete the transaction.

app/apphtml5/theme/base/html5/payment/paypal · high confidence

Add PayPal Express and Standard payment controllers

Introduces new \ExpressController\ and \StandardController\ classes in the PayPal payment module to handle Express Checkout and Standard payment flows. These controllers manage the payment initiation (\actionStart\), post-payment review (\actionReview\), cancellation (\actionCancel\), and crucially, the handling of PayPal Instant Payment Notifications (\actionIpn\) to update order statuses. The implementation includes basic XSS mitigation by HTML-encoding POST data received from PayPal before processing.

app/appfront/modules/Payment/controllers/paypal · high confidence

Add PayPal Standard payment integration

Introduces the PayPal Standard payment method for the storefront, adding the \Placeorder\ and \Start\ block classes to handle the checkout flow. The \Start\ class initiates the payment by redirecting users to PayPal (supporting both personal and business account modes), while the \Placeorder\ class processes the return callback, updates the order status upon successful payment, clears the cart, and redirects to the success page or cancels the order if the payment fails.

app/appfront/modules/Payment/block/paypal/standard · high confidence

Add PayPal payment success page template

A new view template for the PayPal payment success flow has been added at app/apphtml5/theme/base/html5/payment/success/index.php. This page displays a confirmation message including the order number, informs the user that a confirmation email will be sent, and provides a 'Continue Shopping' button. It also includes the necessary JavaScript code to track the purchase event.

app/apphtml5/theme/base/html5/payment/success · high confidence

Add WeChat Mini Program API module

Introduces a new \Wx\ module in the appserver to support WeChat Mini Program clients. This includes a module configuration class and controllers for handling the home page (\HomeController\), startup screen (\StartController\), account login (\AccountController\), and helper utilities (\HelperController\). The home controller exposes API endpoints that return configured banners, featured products, hot items, and currency information, while the start controller serves the app's splash screen image and title.

app/appserver/modules/Wx · high confidence

Add WeChat Pay SDK integration

Introduces the WeChat Pay SDK library (lib/wxpay) to enable JSAPI, native, and micro-payments. This includes API wrappers, configuration classes, SSL certificates for secure transactions, and example scripts for payment flows, order queries, and refunds.

lib/wxpay · high confidence

Add WeChat Pay Standard Controller for PC QR Code Scanning

Introduces a new StandardController for WeChat Pay in the appfront module, enabling PC users to complete payments by scanning a QR code. The controller provides endpoints to initiate the payment flow (actionStart), generate the QR code image (actionQrcode), and verify transaction success via polling (actionTradesuccess). It also includes a legacy actionIpn method, now marked as deprecated, as the new PC scanning flow relies on client-side polling rather than asynchronous IPN callbacks.

app/appfront/modules/Payment/controllers/wxpay · high confidence

Add WeChat Pay configuration block in admin panel

The admin interface now includes a dedicated configuration block for WeChat Pay (paymentwxpay). Administrators can manage credentials for both WeChat Service accounts (App ID, App Secret) and WeChat Mini Programs (App ID, App Secret), as well as merchant platform details (MCH ID, Merchant Key). This allows users to enable and configure WeChat Pay integration directly through the admin settings.

app/appadmin/modules/Config/block/paymentwxpay · high confidence

Add admin UI for managing front-end store configurations

The admin interface now includes a dedicated block for managing front-end store settings. Administrators can view a list of store configurations with columns for ID, key, language, currency, status, and HTTPS enablement, and can filter by status. The edit form allows updating store key, status, language, currency, theme directories, mobile settings (enablement, condition, redirect domain, HTTPS, type), and social login credentials (Facebook and Google).

app/appadmin/modules/Config/block/appfrontstore · high confidence

Add admin configuration block for HTML5 app store settings

Introduces the Manager and Manageredit PHP blocks for the apphtml5store configuration section in the admin panel. This enables administrators to manage HTML5 app store settings through a list view and edit form, supporting fields for store key, status, language, currency, theme directories, Facebook and Google login credentials, HTTPS enablement, and sitemap directory.

app/appadmin/modules/Config/block/apphtml5store · high confidence

Add admin configuration block for customer access token settings

A new Manager block has been added to the appserverbase configuration area, enabling administrators to configure customer access token parameters via the admin interface. This change introduces UI controls for setting the 'Customer AccessToken Timeout' and the 'AccessToken Update Time Limit', allowing users to manage how long tokens remain valid and when they are refreshed during active sessions.

app/appadmin/modules/Config/block/appserverbase · high confidence

Add admin configuration for appserver store languages

Administrators can now configure which languages are associated with the appserver store via a new interface in the admin panel. This change introduces a Manager block and a corresponding view template that allow users to add, edit, or remove language entries (specifying language code and name) and save these settings, which are then stored in the system configuration.

app/appadmin/modules/Config/block/appserverstorelang, app/appadmin/theme/base/default/config/appserverstorelang · high confidence

Add admin configuration for granular front-end page and block caching

The admin interface now includes a new configuration block for managing front-end caching strategies. Administrators can individually enable or disable caching for specific page types (All, Home, Category, Product, Article) and UI components (Head, Header, Menu, Footer blocks) via the appfrontcache settings, allowing for more fine-grained control over performance and content freshness.

app/appadmin/modules/Config/block/appfrontcache · high confidence

Add admin configuration for service storage backends

Introduces a new Config module in the admin panel that allows administrators to configure the storage backend (MongoDB or MySQL) for various system services, including category and product data, product favorites, reviews, articles, static blocks, URL rewrites, newsletters, and error handling logs.

app/appadmin/modules/Config · high confidence

Add admin interface for viewing and managing error logs

The admin panel now includes a dedicated section to display and query system error information. Administrators can view a table of errors containing the ID, category (appfront, apphtml5, appapi, appserver), status code, error message, and creation time. The interface supports filtering by error ID, category, and creation date range, and allows for bulk deletion of selected error records.

app/appadmin/modules/System/block/error · high confidence

Add admin theme templates for customer account, contacts, and newsletter management

New PHP view templates have been added to the admin theme for managing customer data. Specifically, index and edit forms are now available for the customer account list, customer contacts, and newsletter subscriptions. These templates provide the UI structure for listing records, searching, and editing customer information within the admin panel.

app/appadmin/theme/base/default/customer · high confidence

Add app server store configuration block

Introduces a new configuration block for managing app server store settings within the admin interface. This change adds a Manager class that provides a form for editing store-specific attributes, including default language, currency, HTTPS enablement, and social login credentials (Facebook and Google).

app/appadmin/modules/Config/block/appserverstore · high confidence

Add backend configuration interface for Appfront Base settings

A new manager view has been added to the Appfront Base Config section, providing an administrative interface for managing base theme settings. This change introduces a form-based UI that allows administrators to edit and save configuration data via the backend, supporting the management of appfront base parameters.

app/appadmin/theme/base/default/config/appfrontbase · high confidence

Add configuration block for FA (FecShop Analytics) integration

The admin interface now includes a new configuration section for the FA (FecShop Analytics) system, allowing administrators to enable or disable data collection and configure connection details such as the FA domain, website ID, access token, and API timeout settings.

app/appadmin/modules/Config/block/fa · high confidence

Add customer order list, view, and reorder blocks

The Customer module now includes PHP blocks for listing, viewing, and reordering orders. The Index block displays a paginated list of the logged-in user's orders, while the View block shows detailed information for a specific order, both supporting optional breadcrumb navigation. The Reorder block allows users to repurchase items from a previous order by adding them to the cart, with validation to ensure the order belongs to the current user.

app/appfront/modules/Customer/block/order · high confidence

Add customer product favorite list page

The HTML5 theme now includes a dedicated page for viewing a customer's favorite products. This new view renders a table of favorited items, displaying the product image, name, price, and the date the item was added to the favorites list. It also provides a mechanism for customers to remove items from their favorites list directly from this page.

app/apphtml5/theme/base/html5/customer/productfavorite · high confidence

Add default admin theme templates for coupon management

The admin interface for managing coupons now includes dedicated view templates (manager.php and manageredit.php) within the base default theme. These files provide the standard layout for the coupon list view, including search bars and pagination, as well as the form structure for editing coupon details, ensuring consistent styling and functionality for this sales feature.

app/appadmin/theme/base/default/sales/coupon · high confidence

Add frontend widget components with localized caching

New widget classes (Footer, Head, Headers, Menu, Page) are introduced in the appfront area to handle frontend rendering logic. These widgets implement the BlockCache interface, ensuring that cached content is correctly scoped by store, language, currency, and application context to prevent cross-store data leakage. The Headers widget specifically provides navigation data including logout URLs, store information, and logo image URLs, while the Page widget manages pagination logic for product listings.

app/appfront/widgets · high confidence

Add newsletter subscription block with email validation and confirmation

Introduces a new newsletter subscription block (Index.php) that processes email inputs, validates them via HTML encoding, and handles the subscription logic. Users receive a success message and a confirmation email upon successful subscription, or a concatenated error message if the subscription fails (e.g., duplicate email).

app/appfront/modules/Customer/block/newsletter · high confidence

Add product attribute group management interface

The admin panel now includes a new interface for managing product attribute groups. This change introduces a list view for browsing and searching attribute groups, along with an edit dialog that allows administrators to select specific attributes, assign them to the group, and define their sort order within the product configuration.

app/appadmin/theme/base/default/catalog/productattrgroup · high confidence

Add product favorite list block with pagination and breadcrumbs

The product favorite list page now uses a dedicated block class to fetch and display the user's favorited products. This implementation includes pagination support, allowing users to browse their favorites across multiple pages, and adds breadcrumb navigation to the page header. The block also handles retrieving product details and managing the removal of individual favorites from the list.

app/appfront/modules/Customer/block/productfavorite · high confidence

Add product review listing page with pagination

A new template for the customer-facing product review list has been added, allowing users to view their submitted reviews with product images, ratings, summaries, and moderation status (awaiting, refused, or accepted). The page includes a pagination toolbar to navigate through multiple pages of reviews.

app/apphtml5/theme/base/html5/customer/productreview · high confidence

Added Alipay payment integration library

The \lib/alipay\ directory now contains the Alipay AOP SDK (PHP), providing the necessary classes and request models to integrate Alipay payment services. This includes the core \AopSdk.php\ entry point, the \AopClient\ for handling API requests and RSA/RSA2 signatures, and specific request classes for acquiring payments, refunds, and querying trade status.

lib/alipay · high confidence

Added Amqp console module with RabbitMQ queue example

A new Amqp module has been added to the console application, providing a working example for integrating RabbitMQ via the zhuravljov/yii2-queue-amqp library. This includes a custom Queue class for handling AMQP messages, a test job block, and a TestController that demonstrates how to push data to the queue and listen for messages via console commands.

app/console/modules/Amqp · high confidence

Added AppHTML5 Base Configuration Manager

A new configuration manager interface has been added for the AppHTML5 base theme, allowing administrators to manage base settings through the backend. This includes a form for saving configuration data and specific styling for the configuration fields.

app/appadmin/theme/base/default/config/apphtml5base · high confidence

Added AppHTML5 Catalog configuration interface

A new configuration manager file has been added for the AppHTML5 Catalog settings within the default admin theme. This change introduces a web-based form interface that allows administrators to view and save AppHTML5 Catalog configuration attributes via the admin panel.

app/appadmin/theme/base/default/config/apphtml5catalog · high confidence

Added AppHTML5 Payment configuration UI

A new configuration interface for AppHTML5 Payment settings has been added to the admin theme. This change introduces a manager view that renders a form for editing payment configuration fields, including save and cancel actions, along with specific CSS styling for the layout and form elements.

app/appadmin/theme/base/default/config/apphtml5payment · high confidence

Added Appfront Account configuration UI

The admin interface now includes a dedicated configuration page for Appfront Account settings. This change introduces a new form view that allows administrators to edit and save account-related attributes through a styled dialog interface, integrating with the existing translation and request handling services.

app/appadmin/theme/base/default/config/appfrontaccount · high confidence

Added Appfront Payment configuration UI

A new configuration interface for Appfront Payment settings has been added to the admin theme. This change introduces a form-based UI that allows administrators to edit and save payment configuration data, including fields for ID, language attributes, and text areas, with standard save and cancel actions.

app/appadmin/theme/base/default/config/appfrontpayment · high confidence

Added Appserver Account configuration UI

The admin interface now includes a dedicated form for managing Appserver Account settings. This new view allows administrators to edit and save account configuration details through a styled dialog with validation and standard save/cancel actions.

app/appadmin/theme/base/default/config/appserveraccount · high confidence

Added Appserver Cache configuration UI

A new configuration page for Appserver Cache settings has been added to the admin theme. This change introduces a form interface that allows administrators to view and save cache configuration parameters via the admin panel.

app/appadmin/theme/base/default/config/appservercache · high confidence

Added Appserver Home configuration UI

A new configuration page for 'Appserver Home' settings has been added to the admin theme. This change introduces a manager view that renders a form for editing appserver home configuration fields, including save and cancel actions, within the system configuration interface.

app/appadmin/theme/base/default/config/appserverhome · high confidence

Added Appserver Payment configuration UI

A new configuration page for 'Appserver Payment' has been added to the admin theme. This change introduces a form interface that allows administrators to view and save payment-related settings via the 'Appserver Payment Config' fieldset, including save and cancel actions.

app/appadmin/theme/base/default/config/appserverpayment · high confidence

Added BlockCache interface definition

Introduced the \BlockCache\ interface within the \fecshop\\interfaces\\block\ namespace, defining a contract for block caching mechanisms. This interface specifies a constant prefix for cache keys and requires implementing classes to provide a \getCacheKey\ method, enabling consistent cache key generation for block components.

interfaces · high confidence

New widget classes (Footer, Head, Headers, Menu) have been added to the Cms block module, implementing the BlockCache interface to manage caching for these UI components. The Headers widget now provides essential context data such as home URL, current store and language, available stores, and currency information, while the Menu widget retrieves category data. The Head and Footer widgets provide basic caching keys based on language or store/controller/action context, establishing the backend data layer for these frontend sections.

app/appfront/modules/Cms/block/widgets · high confidence

Added ExtensionGii Manager block for system extension configuration

A new Manager block class has been introduced in the System module to handle data preparation for the ExtensionGii interface. This component extracts developer and package information from the provided context and supplies the necessary save URL, enabling the frontend to display the appropriate editing form for system extensions.

app/appadmin/modules/System/block/extensiongii · high confidence

Added Farsi (fa) admin theme configuration view

A new configuration view file for the Farsi (fa) admin theme has been added at app/appadmin/theme/base/default/config/fa/manager.php. This file provides the user interface for managing base configuration settings in the Farsi locale, including form layout, validation, and save/cancel actions.

app/appadmin/theme/base/default/config/fa · high confidence

Added HTML5 cache configuration UI in admin panel

A new configuration interface for AppHTML5 Cache settings has been added to the admin theme. This change introduces a form-based UI that allows administrators to view and save cache configuration parameters via the backend, featuring standard save and cancel actions along with localized labels.

app/appadmin/theme/base/default/config/apphtml5cache · high confidence

Added HTML5 cache configuration block in admin settings

The admin interface now includes a new configuration block for managing HTML5 cache settings. Administrators can enable or disable caching for specific areas including all pages, home, category, product, and article pages, as well as specific HTML blocks like the head, header, menu, and footer. This allows for granular control over which parts of the site are cached to improve performance.

app/appadmin/modules/Config/block/apphtml5cache · high confidence

Added HTML5 one-page checkout view templates

This change introduces the view layer for the HTML5 one-page checkout flow. New template files have been added to render the billing address form (including account creation options), shipping method selection, payment method selection, and the final order review summary with item details and totals.

app/apphtml5/theme/base/html5/checkout/onepage/index · high confidence

Added PayPal configuration interface in admin panel

The admin theme now includes a dedicated configuration page for PayPal payment settings, allowing administrators to input and save PayPal account details and API credentials directly from the backend interface.

app/appadmin/theme/base/default/config/paymentpaypal · high confidence

Added WeChat JSAPI payment support for HTML5 clients

The HTML5 payment flow now supports WeChat JSAPI payments. A new start script has been added to handle the WeChat JSBridge integration, enabling users to initiate payments directly within the WeChat browser environment and redirect to a success URL upon completion.

app/apphtml5/theme/base/html5/payment/wxpayjsapi · high confidence

Added WeChat Pay configuration UI

A new configuration page for WeChat Pay (Wxpay) settings has been added to the admin interface. This change introduces a form that allows administrators to view and save WeChat Pay configuration details, including fields for the payment method's unique identifier and other relevant parameters, accessible via the payment configuration section.

app/appadmin/theme/base/default/config/paymentwxpay · high confidence

Added admin UI templates for Appfront Cache and Service Database configuration

New view templates have been added to the admin theme to support configuration interfaces for Appfront Cache and Service Database settings. These files provide the HTML forms and styling required for administrators to manage these specific system configurations through the backend interface.

app/appadmin/theme/base/default/config/appfrontcache · high confidence

Added admin UI templates for installed extension management

New PHP view templates (manager.php, manageredit.php, managerview.php) have been added to the admin theme's extensioninstalled system section. These files provide the frontend structure for listing installed extensions and editing their configuration details, including search bars, pagination forms, and edit/view dialogs with save and cancel actions.

app/appadmin/theme/base/default/system/extensioninstalled · high confidence

Added admin interface translations for multiple languages

The admin interface now supports localization for German, English, Spanish, French, Italian, Dutch, Portuguese, Russian, and Chinese (Simplified). This change introduces new language files in the app/appadmin/languages directory, providing translated labels for navigation menus, dashboard metrics, product and order management actions, and system configuration options, allowing administrators to interact with the backend in their preferred language.

app/appadmin/languages · high confidence

Added admin resource management views

Introduced new PHP template files for the admin resource manager interface. The 'manager.php' view provides a standardized layout for listing resources, including search bars, pagination, and action toolbars. The 'manageredit.php' view enables editing resource details via a form with save and cancel actions, supporting product-specific edits and multi-language attributes.

app/appadmin/theme/base/default/fecadmin/resource · high confidence

Added admin theme templates for CMS article and static block management

The admin interface now includes dedicated view templates for managing CMS articles and static blocks. New files for the article section (index and edit forms) and the static block section (index and edit forms) have been added to the default admin theme. These templates provide the UI structure for listing, searching, and editing content, with the static block editor specifically including help text for URL placeholders.

app/appadmin/theme/base/default/cms · high confidence

Added appfront language packs for Arabic, German, Spanish, French, Italian, Japanese, and English

New translation files have been added to the appfront language directory for Arabic (ar-AE), German (de-DE), Spanish (es-ES), French (fr-FR), Italian (it-IT), Japanese (ja-JP), and English (en-US). These files provide localized strings for the storefront interface, covering user account management, order history, product browsing, and checkout processes, enabling the application to display content in these specific regional languages.

app/appfront/languages · high confidence

Added category bulk upload interface

The admin interface now includes a new page for uploading category data via Excel files. This feature allows administrators to batch import or update categories by selecting an Excel file, with instructions provided to download a template and place associated images in the correct directory. The system processes the file to add new categories or update existing ones based on the category ID.

app/appadmin/theme/base/default/catalog/categoryupload · high confidence

Added category sort configuration manager

The app admin now includes a new configuration block for managing category sorting settings. This change introduces a Manager class that handles the retrieval, display, and saving of category sort parameters (such as sort key, label, database column, and direction) via the admin interface, allowing users to customize how categories are ordered.

app/appadmin/modules/Config/block/categorysort · high confidence

Added configuration block for HTML5 home page settings

Administrators can now configure specific settings for the HTML5 home page via a new management interface. This change introduces a new configuration block that allows editing of meta title, meta keywords, meta description, and a best feature SKU identifier, enabling better control over the mobile web home page's SEO and featured content.

app/appadmin/modules/Config/block/apphtml5home · high confidence

Added configuration block for best feature SKU

A new admin configuration block has been introduced to manage the 'Best Feature SKU' setting. This change adds a Manager class that provides a user interface for editing this specific attribute, allowing administrators to store and retrieve the value via the store base configuration service.

app/appadmin/modules/Config/block/appserverhome · high confidence

Added console commands for category data synchronization between MySQL and MongoDB

New console controllers have been added to the Category module to facilitate data migration and synchronization between MySQL and MongoDB storage backends. The \MongodatatomysqlController\ provides actions to sync category data from MongoDB to MySQL and initialize parent-child relationships based on original MongoDB IDs. Conversely, the \MysqldatatomongoController\ allows syncing data from MySQL to MongoDB and initializing relationships based on original MySQL IDs. These tools support administrators in managing data consistency when switching or maintaining dual-storage architectures for category information.

app/console/modules/Category · high confidence

Added console module for generating XML sitemaps

A new console module has been introduced to handle the generation of XML sitemaps. This includes a \Module\ class that configures controller and block namespaces, and an \XmlController\ that exposes commands to initiate the sitemap process, retrieve page counts for categories, products, and CMS pages, generate those specific pages, and finalize the sitemap creation.

app/console/modules/Sitemap · high confidence

Added console module for managing URL rewrites

Introduced a new Helper console module containing a UrlrewriteController that provides commands to regenerate URL rewrites for products and categories, retrieve their counts and page numbers, and clear outdated rewrite entries based on a timestamp.

app/console/modules/Helper · high confidence

A new left menu template for the customer account section has been introduced, rendering a list of navigation items from the provided array and including a logout button at the bottom.

app/apphtml5/theme/base/html5/customer · high confidence

Added customer account left menu and loyalty point block components

New block classes have been introduced to support the customer frontend interface: LeftMenu.php handles the rendering of the customer account sidebar by fetching menu configuration from module parameters and highlighting the current page, while point/Index.php provides a placeholder block for the loyalty points section. Both classes extend Yii's BaseObject and implement a getLastData method to supply view data.

app/appfront/modules/Customer/block, app/appfront/modules/Customer/block/point · high confidence

Added email configuration UI template

The admin interface now includes a dedicated view template for managing email settings. This new file provides the HTML structure and styling for the email configuration form, allowing administrators to edit and save email parameters through the system configuration page.

app/appadmin/theme/base/default/config/email · high confidence

Added localized language packs for the HTML5 app

The HTML5 application now includes dedicated translation files for multiple languages, including Arabic (ar-AE), German (de-DE), Spanish (es-ES), French (fr-FR), Italian (it-IT), and Japanese (ja-JP). These new files provide localized strings for core user interface elements such as account management, shopping cart, checkout, and product browsing, enabling the app to display content in the user's preferred language.

app/apphtml5/languages · high confidence

Added log and logtj admin view templates

New PHP view templates for the log and logtj sections of the fecadmin module have been added to the default theme. These files provide the standard admin interface structure, including pagination forms, search bars, toolbars, and data tables, enabling the rendering of log-related data in the admin panel.

app/appadmin/theme/base/default/fecadmin/log, app/appadmin/theme/base/default/fecadmin/logtj · high confidence

Added product manager configuration view

A new configuration view for the product manager has been added, providing an admin interface to edit appfront base configuration settings. This view includes a form for saving changes, displays translated labels for fields, and applies specific CSS styling to the layout and form elements.

app/appadmin/theme/base/default/config/product · high confidence

Added search engine configuration UI in admin theme

The default admin theme now includes a dedicated configuration interface for search engine settings. This new view file provides a form for administrators to manage search-related parameters, featuring localized labels for 'Search Engine Config', 'Save', and 'Cancel', along with specific CSS styling for the layout and form elements.

app/appadmin/theme/base/default/config/search · high confidence

Adds attribute, price, and sorting filters to the HTML5 category page

The HTML5 theme for category listing pages now includes a sidebar filter interface. Users can refine product results by selecting specific attributes (e.g., brand, size), applying custom price ranges via input fields, and sorting the product list. The view also displays active filter tags for easy removal and shows subcategory navigation.

app/apphtml5/theme/base/html5/catalog/category/index · high confidence

Admin CMS article management interface added

The admin panel now includes a dedicated interface for managing CMS articles, featuring a list view with search and filtering capabilities (by status, title, and creation date) and an edit form. The edit form allows administrators to update the article title, URL key, meta keywords, meta description, and content, as well as toggle the article's enable/disable status. The list view displays article details including ID, title, status, creator, and timestamps, supporting bulk selection and deletion operations.

app/appadmin/modules/Cms/block/article, app/appadmin/modules/Fecadmin/block/role, app/appadmin/theme/base/default/fecadmin/role · high confidence

Admin UI for configuring search engine backends

Administrators can now enable or disable specific search engine integrations (MySQL, MongoDB, and Xunsearch) directly from the admin configuration interface. This new block allows users to toggle these engines on or off, with instructions to run the \fullSearchSync.sh\ shell script to synchronize data after enabling a backend.

app/appadmin/modules/Config/block/search · high confidence

Admin UI templates for managing appfront store configurations

Added new PHP view templates for the admin interface to manage appfront store settings. The list view (manager.php) provides a standard data table with search and pagination controls, while the edit view (manageredit.php) presents a form for modifying store attributes. The edit form includes inline documentation explaining configuration fields such as Store Key, Language Name, Local/Third Theme Directories, Mobile redirection conditions, and HTTPS settings, enabling administrators to configure multi-store and mobile access behaviors.

app/appadmin/theme/base/default/config/appfrontstore · high confidence

Admin cache management block added

A new cache management block (Index.php) has been added to the Fecadmin module, providing an admin interface to view and refresh Redis and file-based caches. The block allows administrators to refresh caches for specific application entry points by merging common and entry-specific Redis configurations, and includes CSRF protection for the refresh action.

app/appadmin/modules/Fecadmin/block/cache · high confidence

Admin category management UI and image handling

The admin interface for managing product categories now includes dedicated blocks for handling category images, listing, and associated products. Administrators can upload and delete category images via the new Image block, manage category details and tree structures through the Index block, and assign products to categories using the Product block, which supports filtering by name, SKU, and SPu.

app/appadmin/modules/Catalog/block/category · high confidence

Admin configuration block for enabling/disabling payment methods

Added a new Manager block in the appadmin Config module that provides the administrative interface for managing front-end payment settings. This block exposes toggle controls (enable/disable) for specific payment gateways including Check Money, PayPal Standard, PayPal Express, Alipay Standard, and various WeChat Pay modes (Standard, Jsapi, Html5). It handles loading the current configuration from the store base config service and prepares the form data for the admin UI, while also triggering a pre-save event to allow for extensibility.

app/appadmin/modules/Config/block/appfrontpayment · high confidence

Admin configuration block for order settings

Added a new Manager block in the admin configuration module to manage order-related settings. This change introduces a user interface for configuring parameters such as order increment ID format, required address attributes, pending stock return timing, guest order permissions, and order remark length limits.

app/appadmin/modules/Config/block/order · high confidence

Admin configuration for App Front Home page settings

Administrators can now configure specific settings for the App Front Home page via the admin interface. This change introduces a new configuration block that allows editing of meta title, meta keywords, meta description, best seller SKU, and best feature SKU, enabling better control over the home page's SEO and featured content display.

app/appadmin/modules/Config/block/appfronthome · high confidence

Admin configuration for cart parameters

The admin interface now includes a dedicated configuration block for cart settings, allowing administrators to manage specific shopping cart behaviors. This new feature enables the configuration of the maximum number of items of a single SKU that can be added to the cart (maxCountAddToCart) and whether to enforce inventory checks when adding items to the cart (addToCartCheckSkuQty).

app/appadmin/modules/Config/block/cart · high confidence

Admin configuration for front-end account settings

A new configuration block has been added to the admin panel, allowing administrators to manage front-end account behaviors. This includes toggles for CAPTCHA on the register, login, forgot password, and contacts pages, options for auto-login after registration and custom redirect URLs, and controls for minimum/maximum name and password lengths.

app/appadmin/modules/Config/block/appfrontaccount · high confidence

Admin configuration for product image and pricing settings

The admin interface now includes a dedicated configuration block for product settings, allowing administrators to manage image storage paths, maximum upload sizes, and compression levels for PNG and JPEG files. Additionally, users can configure pricing behavior, specifically whether special prices override standard prices when the special price is higher, and enable or disable zero-inventory handling.

app/appadmin/modules/Config/block/product · high confidence

Admin configuration for third-party tracking scripts and asset versioning

Administrators can now manage base app-front settings via the admin panel, including enabling forced asset copying, setting JS/CSS version suffixes to bypass browser caching, and injecting third-party tracking code (such as Google Analytics, Baidu Tongji, or Google Tag Manager) directly into the frontend.

app/appadmin/modules/Config/block/appfrontbase, app/appadmin/modules/Config/block/apphtml5base · high confidence

Admin configuration management interface added

The admin panel now includes a new configuration management section, allowing administrators to view, edit, and delete system configuration entries. This change introduces the Manager and Manageredit blocks in the Fecadmin module, which provide a table-based interface for listing configurations (by ID, label, key, value, and timestamps) and a form for editing specific configuration records, including fields for label, key, value, and description.

app/appadmin/modules/Fecadmin/block/config · high confidence

Admin coupon management and order export capabilities

The admin panel now supports managing coupons and exporting order data. A new CouponController allows administrators to view, edit, and delete coupon records through the backend interface. Additionally, the OrderinfoController has been updated to include an Excel export function for orders, enabling bulk data retrieval, while also enabling CSRF validation for these POST requests to improve security.

app/appadmin/modules/Sales/controllers · high confidence

Admin dashboard adds interactive charts and form submission utilities

The admin interface now supports data visualization and improved form handling. An ECharts library has been included to enable statistical charts in the backend, and a new JavaScript utility function \doPost\ allows for dynamic, programmatic POST requests via hidden forms, supporting the new editable select components and other interactive admin features.

app/appadmin/theme/base/default/assets/js · high confidence

Admin interface for PayPal payment configuration

Administrators can now configure PayPal payment settings directly from the admin panel. This change introduces a new configuration block that allows users to set the PayPal environment (sandbox or production), email account, and API credentials (account, password, signature, and client ID). These settings are stored and managed via the new Manager block, enabling seamless integration of PayPal as a payment method.

app/appadmin/modules/Config/block/paymentpaypal · high confidence

Admin interface for managing CMS static blocks

The admin panel now includes a dedicated interface for managing CMS static blocks, allowing administrators to view, create, edit, and delete static content blocks. This change introduces the Index block for listing blocks with search and pagination capabilities, and the Manageredit block for handling the creation and modification of individual static blocks, including fields for title, identify, content, and status.

app/appadmin/modules/Cms/block/staticblock · high confidence

Admin interface for managing category sort configurations

The admin panel now includes a dedicated configuration page for category sorting. Administrators can define custom sort keys, labels, database columns, and sort directions (ascending/descending) for product categories. This interface allows adding, editing, and removing sort rules, which are then saved to control how categories are ordered in the storefront.

app/appadmin/theme/base/default/config/categorysort · high confidence

Admin interface for managing coupons

Added the Manager and Manageredit block classes for the coupon module in the admin panel. The Manager block provides a list view with search capabilities (by coupon code and creation date) and displays columns for ID, code, usage limits, type (percentage or direct reduction), conditions, discount, expiration, and audit info. The Manageredit block enables creating and editing coupons via a form that captures code, per-user limits, type, minimum spend conditions, discount amount, and expiration date, and supports saving and deleting individual or multiple coupons.

app/appadmin/modules/Sales/block/coupon · high confidence

Admin interface for managing currency configurations

The admin theme now includes a dedicated configuration page for managing currencies. Administrators can view, add, and remove currency entries, specifying the currency code, symbol, and exchange rate. The interface allows for dynamic row addition and deletion within the admin panel, with validation ensuring that all required fields are populated before saving.

app/appadmin/theme/base/default/config/currency · high confidence

Admin interface for managing customer contact messages

The admin panel now includes a dedicated section for viewing and managing customer contact submissions. Administrators can view a list of contacts including name, telephone, email, and the user's comment, with search capabilities by email and creation date. The interface also supports editing contact details and deleting entries directly from the admin dashboard.

app/appadmin/modules/Customer/block/contacts · high confidence

Admin interface for managing frontend customer accounts

Administrators can now view, edit, and manage frontend mall users directly from the backend. This change introduces the \Index\ block for listing customers with search capabilities (by status, email, password reset token, and creation date) and a table displaying details such as name, email, favorite product count, and status. It also adds the \Manageredit\ block, which provides a form to edit customer attributes (first/last name, email, password, status) and handles saving or removing individual or multiple customer records.

app/appadmin/modules/Customer/block/account · high confidence

Admin interface for managing installed extensions with priority support

The admin panel now includes a dedicated section for managing installed extensions, allowing administrators to view, edit, enable, disable, and delete extensions. This update introduces a 'Priority' field that can be set during extension configuration and is displayed in the main listing, enabling control over the order in which extensions are processed. The interface provides filtering by status, extension type, and creation date, and exposes key metadata such as package name, folder, version, and namespace for each installed extension.

app/appadmin/modules/System/block/extensioninstalled · high confidence

Admin interface for managing product attribute groups

Added the Manager and Manageredit blocks for the product attribute group module in the admin panel. The Manager block provides a list view with search and pagination capabilities, displaying attributes such as ID, name, status, and timestamps. The Manageredit block enables creating and editing attribute groups, allowing administrators to set the group name, status, and associate specific product attributes with their sort order. This change introduces the backend UI components required to manage product attribute group configurations.

app/appadmin/modules/Catalog/block/productattrgroup · high confidence

Admin interface for managing product attributes

Added the Manager and Manageredit block classes for the product attribute management section in the admin panel. The Manager block provides a list view with search and pagination capabilities, displaying columns for attribute type, name, status, database type, and display settings. The Manageredit block enables creating and editing individual product attributes, supporting fields for attribute type, name, status, database type, image display toggle, requirement flag, and default value.

app/appadmin/modules/Catalog/block/productattr, app/appadmin/theme/base/default/catalog/productattr · high confidence

Admin interface for managing product brand categories

Administrators can now manage product brand categories directly from the admin panel. This change introduces a new management interface that allows users to view a list of brand categories with details such as name, sort order, status, and timestamps. It supports filtering by status and creation date, and enables creating, editing, enabling/disabling, and deleting brand categories through a dedicated edit form.

app/appadmin/modules/Catalog/block/productbrandcategory, app/appadmin/theme/base/default/catalog/productbrandcategory · high confidence

Admin interface for managing product brands

This change introduces the admin UI components for the product brand management feature. The \manager.php\ view provides a paginated list view with search and toolbar actions, while \manageredit.php\ provides a modal form for editing brand details, including support for uploading and previewing brand logos via AJAX.

app/appadmin/theme/base/default/catalog/productbrand · high confidence

Admin interface for managing resource tags

Administrators can now manage resource tags through a new list view and edit form. The Manager block provides a table displaying tag ID, name, associated resource URL key, sort order, and timestamps, with search capabilities for tag, tag name, resource, and creation date. The Manageredit block allows creating and editing individual tags, requiring a tag name, resource URL key, and tag selection, while supporting batch deletion of selected tags.

app/appadmin/modules/Fecadmin/block/resource · high confidence

Admin interface for multi-language and search engine configuration

Administrators can now manage multiple languages and associate each with a specific search engine directly from the admin panel. This new configuration screen allows users to add, edit, or remove language entries (name, code, and search engine mapping) and provides instructions on saving settings, binding languages to stores, and running data synchronization scripts for search indexes.

app/appadmin/theme/base/default/config/mutillang · high confidence

Admin interface for viewing and managing system error logs

Administrators can now view and query system error information directly from the backend. This change introduces new theme templates for the error management section, providing a searchable list view and a detailed edit form that displays error metadata such as category, status code, line number, IP address, URL, file path, message, request info, and trace info.

app/appadmin/theme/base/default/system/error · high confidence

Admin interface for viewing customer newsletter subscriptions

Administrators can now view a list of customer newsletter subscriptions in the admin panel. This change adds the backend block responsible for rendering the subscription management page, which includes a searchable table displaying subscriber email addresses, subscription status (enabled/disabled), and creation dates, along with pagination and bulk action controls.

app/appadmin/modules/Customer/block/newsletter · high confidence

Admin interface for viewing product favorites

Administrators can now view a list of products favorited by users through the Catalog section of the admin panel. This change introduces a new block that displays a table with columns for the product, the user who favorited it, the store, and creation/update timestamps. The interface includes search functionality to filter favorites by creation date and allows for bulk selection of entries.

app/appadmin/modules/Catalog/block/productfavorite · high confidence

Admin interface now supports bulk product upload via Excel

The admin panel now includes a new product upload feature that allows administrators to import or update products in bulk using an Excel file. This new manager interface provides a file selection form and instructions for downloading the required Excel template and image folder structure, enabling users to add new products or update existing ones based on SKU matching.

app/appadmin/theme/base/default/catalog/productupload · high confidence

Admin manager account management interface

The admin panel now includes a dedicated interface for managing administrator accounts. This change introduces the Manager block, which provides a searchable and paginated list of admin users with columns for ID, username, name, worker number, email, status, and timestamps. It also adds the Manageredit block, enabling administrators to create, edit, and delete user accounts, including setting passwords, emails, worker numbers, and assigning roles.

app/appadmin/modules/Fecadmin/block/account · high confidence

Admin module configuration files added

New configuration files have been added to the appadmin module setup, defining the structure for Catalog, Cms, Config, Customer, Sales, and System modules. Additionally, the Fecadmin module configuration now explicitly maps controllers for login, logout, account, cache, config, logging, error handling, and system resources, establishing the backend routing and cache configuration paths for these administrative features.

app/appadmin/config/modules · high confidence

Admin order configuration UI added

A new configuration manager view for the admin panel has been introduced, providing a dedicated form interface for managing order settings. This change adds a new PHP template file that renders a styled dialog form with fields for order configuration attributes, allowing administrators to edit and save order-related parameters through the web interface.

app/appadmin/theme/base/default/config/cart, app/appadmin/theme/base/default/config/order · high confidence

Admin order management: list, edit, and Excel export capabilities

The admin panel now supports comprehensive order management within the Sales module. Administrators can view a list of orders with filtering options (by increment ID, status, email, and date range) and display key details such as payment and shipping method labels. A new interface allows editing order attributes (status, currency, customer info, etc.) and saving changes. Additionally, selected orders can be exported to an Excel file containing detailed order and item information.

app/appadmin/modules/Sales/block/orderinfo · high confidence

Admin product brand management interface

The admin panel now includes a dedicated interface for managing product brands. This update adds the necessary backend blocks to list, search, create, edit, and delete brand entries, including support for uploading brand logos and filtering by status or creation date.

app/appadmin/modules/Catalog/block/productbrand · high confidence

Admin product info index now supports dimension and batch attribute editing

The product information editing interface in the admin panel has been updated to include fields for product dimensions (Long, Width, High in CM) and supports batch attribute management. This change introduces new block classes (Attr.php and BatchAttr.php) that define these attributes, enabling administrators to input physical dimensions for products, which facilitates the calculation of volumetric weight for shipping purposes.

app/appadmin/modules/Catalog/block/productinfo/index · high confidence

Admin product interface redesign with batch editing and custom option management

The admin product management interface has been updated with new theme templates for the product list, editing, and batch editing views. This change introduces a dedicated batch edit capability for managing multiple products simultaneously, including tiered pricing and category assignments. Additionally, the product info view now features a dynamic interface for adding and managing custom product options, allowing administrators to define multi-language titles, prices, and sort orders for options and their sub-options directly within the admin panel.

app/appadmin/theme/base/default/catalog/productinfo · high confidence

Admin product review management interface

The admin panel now includes a dedicated section for managing customer product reviews. Administrators can view a list of reviews with filtering options for status (Pending, Approved, Not Approved), product SPU, and date range. The interface supports editing individual review details (rating, summary, content, status) and performing batch actions such as approving or rejecting multiple reviews at once.

app/appadmin/modules/Catalog/block/productreview · high confidence

Admin product upload via Excel spreadsheet

The admin interface now supports bulk product creation and updates through Excel file uploads. Administrators can upload .xls or .xlsx files containing product details (such as SKU, price, stock, images, and attributes) which are processed to save or update products in the catalog.

app/appadmin/modules/Catalog/block/productupload · high confidence

Cms module initialization and layout configuration

The Cms module for the appfront area has been initialized, establishing the necessary controller and block namespaces for the Yii framework. It also sets the default theme layout file to 'home.php' for this module, ensuring consistent rendering for CMS-related pages.

app/appfront/modules/Cms · high confidence

Customer product review list with pagination and breadcrumbs

The customer account center now displays a paginated list of the user's own product reviews. This new block fetches reviews ordered by date, enriches each item with the associated product image and URL key, and provides navigation controls for multiple pages. Additionally, a breadcrumb trail labeled 'Customer Product Review' is added to the page header, controlled by a specific configuration parameter.

app/appfront/modules/Customer/block/productreview · high confidence

Frontend account management blocks for login, registration, and password recovery

This change introduces the PHP block classes that power the customer account interface in the appfront module. Specifically, it adds Forgotpassword, Index, Login, Register, Registerenable, Resetpassword, and Resetpasswordsuccess. These blocks handle the logic for displaying account-related pages, managing breadcrumbs, validating CAPTCHAs on login and registration, processing password reset tokens, and sending activation or reset emails. This provides the backend structure for users to log in, register new accounts with optional email activation, and recover forgotten passwords.

app/appfront/modules/Customer/block/account · high confidence

HTML5 product review submission and listing pages added

The HTML5 theme now includes dedicated views for product reviews, enabling customers to submit reviews and view existing ones on mobile devices. The new \add.php\ template provides a form for entering a name, summary, star rating, and review content, with optional CAPTCHA support and client-side star selection. The \lists.php\ template displays the product's average rating, a breakdown of star distribution, and a paginated list of individual reviews, including moderation status indicators.

app/apphtml5/theme/base/html5/catalog/reviewproduct · high confidence

Initial Catalogsearch module setup

The Catalogsearch module for the appfront area has been added, initializing the module structure with default controller and block namespaces and setting the main layout file for the theme.

app/appfront/modules/Catalogsearch · high confidence

Initial Cms module for apphtml5 with page caching and currency switching

Adds the Cms module to the apphtml5 application, introducing controllers and blocks for the home page and articles. The home page block provides featured products, store, and currency information, while the article block handles article details and meta tags. Both controllers implement page caching via Yii's PageCache filter, varying by store and currency, and support disabling cache via a specific URL parameter. Additionally, an action allows users to switch the current currency.

app/apphtml5/modules/Cms · high confidence

Initial Cms module structure for admin panel

The app/appadmin/modules/Cms location now contains the foundational files for the CMS module within the admin interface. This includes the CmsController, which extends the base admin controller and disables CSRF validation, and the Module class, which initializes the module by setting up controller and block namespaces and defining the default AJAX layout. This establishes the basic routing and configuration structure for CMS-related admin functionality.

app/appadmin/modules/Cms · high confidence

Initial FecShop frontend application configuration

This change introduces the initial configuration files for the FecShop frontend application (\appfront\). It defines the Yii2 application structure, including module loading, internationalization settings using \fecshop\\yii\\i18n\\PhpMessageSource\, and custom component classes for User, ErrorHandler, View, and Request. The configuration also sets up service widgets for the frontend theme (head, header, menu, footer, etc.) and establishes default theme paths and layout names via \params.php\.

app/appfront/config · high confidence

Initial HTML5 mobile theme stylesheets added

The HTML5 mobile theme now includes its foundational CSS assets, introducing \fec.css\ for custom application styling and \sm.css\ (along with \sm-extend.css\) which integrates the SUI Mobile framework. These files establish the base visual design, responsive layout rules, and component styles for the mobile web interface.

app/apphtml5/theme/base/html5/assets/css · high confidence

Initial Sales module structure for admin

The admin interface now includes a new Sales module, providing the foundational controller and module configuration classes required to manage sales-related operations within the application.

app/appadmin/modules/Sales · high confidence

Initial appserver configuration and multi-language support

The appserver now includes a dedicated configuration file (app/appserver/config/appserver.php) that sets up core modules (Catalog, Checkout, Customer, etc.), defines internationalization paths, and configures the error handler to use a specific class in production environments. Additionally, language translation files have been added for Arabic, German, English, Spanish, French, and Italian to support localized user interfaces.

app/appserver · high confidence

Initial configuration and theme assets for the HTML5 mobile app

This change introduces the foundational configuration and theme structure for the \apphtml5\ mobile application. It adds \app/apphtml5/config/apphtml5.php\, which defines the Yii2 application setup including module loading, internationalization, user authentication, error handling, and URL management, alongside \params.php\ for base theme settings. Additionally, it includes initial theme files such as \.gitignore\ and \BaseAsset.php\ to support the HTML5 frontend interface.

app/apphtml5/config · high confidence

Initial configuration files for appfront modules

Added default configuration files for the Catalog, Catalogsearch, Checkout, Cms, Customer, Payment, and Site modules in the appfront application. These files define the module classes and provide initial parameter settings, such as breadcrumb visibility, search page titles, and customer account menu items, which can be overridden in local configuration files.

app/appfront/config/modules · high confidence

Initial configuration for the appadmin application module

Added the initial configuration files for the appadmin module, defining the application structure, component registrations, and default parameters. The appadmin.php file configures the module bootstrap (specifically the 'store' component), sets up internationalization (i18n) translations pointing to the appadmin languages directory, registers the AdminUser identity class for authentication, and defines URL routing rules for the admin interface. The params.php file establishes the base theme directory and default layout name for the admin theme.

app/appadmin/config · high confidence

Initial configuration for the appapi module

The appapi module is now configured with a new entry point (app/appapi/config/appapi.php) that sets up the V1 API module, defines URL routing rules (including a default home route and commented-out RESTful rules for articles, customers, categories, and products), and configures core components such as the request parser (JSON), user identity (AdminUser model with sessions disabled), and error handling (switching to AppserverErrorHandler in production). Rate limiting is disabled by default, and API user access is unrestricted unless explicitly configured.

app/appapi/config · high confidence

Initial configuration structure for FecShop services and components

This change introduces the foundational configuration files for the FecShop application, establishing a structured approach to managing services and components. It includes a main entry point (\config/fecshop.php\) that dynamically loads service and component definitions from subdirectories, alongside specific configuration files for key subsystems such as Admin, Cart, Product, Payment (including PayPal, Alipay, and WeChat Pay), Email, and Caching. Additionally, it adds component configurations for Service Logging, Store management, and XunSearch integration, providing the necessary defaults and structure for the application's core functionality.

config · high confidence

Initial console application structure and module configuration

The console application entry point and core module infrastructure have been established, including the main configuration file and the registration of specific functional modules such as Amqp, Category, Customer, Helper, Order, Product, and Sitemap. A base ConsoleController is provided to handle block resolution and namespace mapping, enabling the execution of command-line operations for these distinct business areas.

app/console · high confidence

Initial database model definitions for MongoDB and MySQL backends

This change introduces the foundational data models for the application, establishing the schema layer for both MongoDB and MySQL storage engines. The diff adds ActiveRecord classes for core entities including Products, Categories, Orders, Customers, and Admin Users, as well as supporting models for CMS articles, static blocks, product reviews, favorites, search indexes, and system logs. These files define the table/collection names, field attributes, validation rules, and index configurations required to persist and query data in the respective databases.

models · high confidence

Initial front-end theme assets and base styles added

The appfront theme now includes its foundational front-end assets, providing the visual structure and interactive capabilities for the storefront. This adds the core CSS styles in \style.css\ and \BaseAsset.php\, along with specific support for Internet Explorer (\ie.css\, \ltie9.css\). It also integrates third-party JavaScript libraries and their stylesheets to enable product image zooming via \jquery.elevatezoom.js\ and rich media galleries via \fancybox\ (including helpers for buttons, thumbnails, and media embedding).

app/appfront/theme · high confidence

Initial implementation of the Catalog admin module

The Catalog module for the admin interface has been added, introducing the core module structure and controller. This includes the \Module.php\ class which configures the module's namespace, block directory, and default AJAX layout, as well as the \CatalogController.php\ which extends the base admin controller to handle catalog-related requests.

app/appadmin/modules/Catalog · high confidence

Initial implementation of the Customer module for the HTML5 app frontend

This change introduces the complete Customer module for the apphtml5 frontend, providing the backend logic (blocks) for user account management and interaction. It adds support for user registration with optional email activation, login with Google and Facebook social authentication, and password recovery flows (forgot/reset). The module also implements the customer dashboard features, including viewing and editing account details, managing shipping addresses, viewing order history with reorder capabilities, and managing product favorites and reviews. Additionally, it includes a contact form with captcha validation and newsletter subscription functionality, all structured within the Yii2 framework's block/controller pattern.

app/apphtml5/modules/Customer · high confidence

Initial release of the apphtml5 Catalog module

This change introduces the complete apphtml5 Catalog module, providing the backend logic and controllers for the mobile storefront's product browsing and interaction features. It includes controllers for categories, products, favorites, and reviews, along with the corresponding block classes that handle data retrieval, sorting, filtering, and AJAX pagination for category listings. The module also implements product detail page logic (including custom options, group attributes, and image handling), a product favorite system with CSRF protection, and a product review system with configurable permissions (e.g., requiring a purchase to review) and CAPTCHA support.

app/apphtml5/modules/Catalog · high confidence

Initial setup of the apphtml5 module base classes and site controller

Adds the foundational structure for the apphtml5 module, including the AppfrontController and AppfrontModule base classes which handle theme initialization, layout resolution, and block loading. It also introduces the Site module configuration and a HelperController that provides error handling and captcha generation actions for the HTML5 app interface.

app/apphtml5/modules · high confidence

Initialize V1 API module structure

Adds the V1 module entry point, configuring the controller and block namespaces to ensure the API module can correctly locate its components.

app/appapi/modules/V1 · high confidence

Introduce Appfront module base classes for theme and block management

Added the AppfrontModule and AppfrontController classes to the appfront module. The new AppfrontController extends the base FecController to initialize theme directories, layout files, and i18n translation categories, while providing methods to resolve block namespaces and render views using the multi-theme system. This establishes the foundational controller logic for handling appfront requests and view rendering.

app/appfront/modules · high confidence

Introduce graphical database installation wizard for FecMall

Adds a new web-based installation module (\app/appinstall/modules/Database\) that guides users through setting up the MySQL database, running migrations, configuring store domains, and initializing admin accounts. This replaces or supplements command-line setup by providing a browser interface for database configuration, migration execution, and post-installation steps.

app/appinstall/modules/Database · high confidence

Introduction of App API module with token-based authentication

The application now includes a new \appapi\ module (\AppapiModule\) containing controllers for API interactions. \AppapiController\ serves as a base controller that enforces JSON responses and disables session usage. \AppapiTokenController\ extends this base to provide secure access via \AppapiQueryParamAuth\ (passing \access-token\ as a GET parameter) and supports optional rate limiting through the \RateLimiter\ filter, allowing third-party systems to interact with the platform securely.

app/appapi/modules · high confidence

Introduction of Checkout Controllers for Cart, One-Step, and Reorder Operations

This change introduces three new controllers in the Checkout module: CartController, OnepageController, and ReorderController. The CartController manages shopping cart interactions, including adding products (with CSRF validation disabled for the add action to support AJAX), applying/canceling coupons (restricted to logged-in users), and handling mobile redirects. The OnepageController facilitates the single-page checkout flow, enforcing login requirements for guest orders and handling AJAX updates for country changes and order/shipping details. The ReorderController allows users to replicate a previous order by fetching its items and adding them back to the cart. These controllers form the backend logic for the front-end checkout experience.

app/appfront/modules/Checkout/controllers · high confidence

Introduction of Checkout and Customer modules with default layouts

The application now includes dedicated modules for Checkout and Customer functionality. The Checkout module initializes with a default layout of 'one\_step\_checkout.php', enabling a streamlined one-step checkout experience for users. The Customer module initializes with a default layout of 'main.php', providing the standard structure for customer-related pages. These modules set up the necessary controller and block namespaces for their respective areas.

app/appfront/modules/Checkout · high confidence

Introduction of One-Page Checkout with Address Initialization and Payment Handling

This change introduces the core PHP blocks for the new one-page checkout flow in the FecShop appfront module. The Index block initializes the checkout page by loading cart data, pre-filling shipping addresses from the user's account or cart history, and preparing payment and shipping method options. The Placeorder block handles the final submission, including XSS sanitization of user inputs, automatic currency conversion to CNY for Alipay and WeChat Pay, guest account creation during checkout, and the generation of orders from cart data with inventory deduction.

app/appfront/modules/Checkout/block/onepage · high confidence

Introduction of new service layer for admin and application management

The services directory now includes new \Admin.php\ and \AdminUser.php\ files, providing backend-specific functionality such as admin user login, access token management, and multi-language configuration handling for the admin panel. Additionally, \Application.php\ has been added to serve as the central service container (\Yii::$service\), managing the initialization, instantiation, and retrieval of all other child services (e.g., Cart, Product, Category) via a singleton pattern and configuration-driven injection.

services · high confidence

Introduction of the Payment module for checkout processing

The app/appfront/modules/Payment location now contains the core module and controller files that enable the payment workflow. The Module.php file initializes the payment module, configuring controller and block namespaces and setting the default layout to 'one\_step\_checkout.php'. The PaymentController.php file handles the entry point for payment actions, validating the presence of a valid order increment ID from the session and redirecting to the home page if the order is missing or invalid.

app/appfront/modules/Payment · high confidence

Introduction of the System admin module

A new System module has been added to the admin interface, providing the foundational structure for system-level administration. This includes a Module class that configures controller and block namespaces, sets a specific AJAX layout, and extends the PHP execution time limit to handle longer-running tasks. Additionally, a SystemController is introduced which extends the base admin controller and explicitly disables CSRF validation for its endpoints.

app/appadmin/modules/System · high confidence

New Admin URL Key Gii Tool for SQL Generation

Administrators can now use the new Admin URL Key Gii tool to generate SQL statements for the \admin\_url\_key\ table. This feature adds a dedicated interface in the admin panel where users can paste exported SQL data and generate corresponding entries, streamlining the process of managing admin menu URL keys via the Fecmall developer guide.

app/appadmin/modules/System/block/adminurlkey, app/appadmin/theme/base/default/system/adminurlkey · high confidence

New App HTML5 Payment Configuration Block

Added a new configuration block for managing App HTML5 payment settings in the admin panel. This block allows administrators to enable or disable specific payment methods, including Check Money, PayPal Standard and Express, Alipay Standard, and various WeChat Pay options (PC, Jsapi, and HTML5). The implementation includes an event mechanism (\event\_before\_save\_payment\_config\) to facilitate future extensibility of the payment logic.

app/appadmin/modules/Config/block/apphtml5payment · high confidence

New App Server Cache Configuration Block

Added a new configuration block in the admin panel that allows administrators to manage app server caching settings. This block provides toggle controls to enable or disable caching for specific page types, including all pages, home, category, product, and article pages, giving users finer control over performance optimization.

app/appadmin/modules/Config/block/appservercache · high confidence

New App Server Catalog configuration block

Administrators can now configure app server catalog settings via a new Manager block in the admin panel. This change introduces a UI for managing product and category display options, including toggles for breadcrumbs, category filters (attributes, categories, price), pagination limits, price ranges, SKU display behavior, and review settings (captcha, counts, login requirements).

app/appadmin/modules/Config/block/appservercatalog · high confidence

New Appfront Catalog configuration interface

A new configuration page for Appfront Catalog settings has been added, allowing administrators to manage product and category configurations via a dedicated form interface.

app/appadmin/theme/base/default/config/appfrontcatalog · high confidence

New CMS API module for home page and article content

The appserver now exposes a new Cms module providing API endpoints for the home page and individual articles. The HomeController returns structured data including featured products, advertise images, available languages, and currencies, with page caching enabled for variations in store, currency, and language. The ArticleController fetches article details by URL key, also with configurable page caching that respects disable parameters and varies by store, currency, language, and article ID.

app/appserver/modules/Cms · high confidence

New CMS admin controllers for articles, static blocks, and XHEditor

The admin interface now includes dedicated controllers for managing CMS content. The new ArticleController handles article listing and editing with CSRF validation enabled. The StaticblockController manages static blocks and includes a new image upload action. Additionally, the XeditorController provides endpoints for XHEditor integration, including image, flash, link, and media upload actions (with CSRF disabled for the upload endpoints).

app/appadmin/modules/Cms/controllers · high confidence

New Catalog Search API module for appserver

Added a new Catalogsearch module to the appserver, introducing API endpoints for product search functionality. The IndexController exposes actions such as actionIndex and actionWxindex to handle search queries, returning paginated product lists, search counts, and filter/refinement information. This enables clients (including WeChat mini-programs) to perform catalog searches with support for attribute filtering, price ranges, and sorting.

app/appserver/modules/Catalogsearch · high confidence

New Catalog controllers for product, category, reviews, and favorites

The appfront Catalog module now includes dedicated controllers for managing product and category pages, product reviews, and user favorites. Product and category pages support full-page caching with configurable timeouts and URL parameter variations, while also redirecting mobile app users to the appropriate Vue-based endpoints. Product pages expose an AJAX endpoint to retrieve cart prices and a direct image retrieval endpoint by SKU. Review submissions are protected by CSRF validation and can be restricted to logged-in users only via store configuration, and favorite product actions are exposed via a controller with CSRF validation disabled for AJAX compatibility.

app/appfront/modules/Catalog/controllers · high confidence

New Customer Account and Social Login Controllers

The Customer module now includes dedicated controllers for managing user account operations and third-party authentication. AccountController handles login, registration (with optional email activation), logout, and password recovery. AddressController, EditaccountController, and ContactsController manage user profile and shipping details. New FacebookController and GoogleController enable social login flows, while ProductfavoriteController and ProductreviewController support user wishlists and reviews. OrderController adds reorder functionality, and AjaxController provides real-time cart and favorite counts.

app/appfront/modules/Customer/controllers · high confidence

New FecShop AppAPI V1 controllers for catalog, content, and account management

This change introduces a comprehensive set of new REST API controllers in the V1 module, enabling third-party systems to interact with FecShop data. The new endpoints include AccountController for user login and token generation, ArticleController for managing CMS articles (list, fetch, add, update), CategoryController for product categories (list, fetch, add, update), and CategoryimageController for syncing category images via base64. Product management is covered by ProductController (list, fetch, add, upsert), ProductattrController for attributes, ProductattrgroupController for attribute groups, and ProductbrandController for brands. Additionally, OrderController provides order listing and status updates, while CurrencyController and LanguagesController allow configuration of store-wide currency and language settings. These controllers collectively provide CRUD capabilities for core e-commerce entities and essential store configuration.

app/appapi/modules/V1/controllers · high confidence

New Fecmall Extension Market Admin Interface

The admin panel now includes a dedicated Extension Market section, allowing administrators to browse, install, upgrade, and uninstall extensions directly from the backend. This new interface features a login screen for Fecmall account authentication and a manager view that displays available addons with their versions, sizes, and status. Administrators can perform online installations, trigger manual upgrades for newer versions, test local development addon scripts (install/upgrade/uninstall), and remove installed extensions.

app/appadmin/theme/base/default/system/extensionmarket · high confidence

New General appserver module with menu, language, and currency APIs

Added the General module for the appserver, introducing controllers that expose endpoints for retrieving the site navigation menu (including a specific format for WeChat Mini Programs), available languages, and supported currencies. The menu endpoint implements page caching with variations based on the current language code and supports disabling cache via URL parameters.

app/appserver/modules/General · high confidence

New Gii Extension Generator Interface

The admin interface now includes a dedicated page for generating custom extensions using the Gii tool. Administrators can configure the extension package, namespace, and author details to scaffold new application modules, with the system enforcing English-only naming for packages and namespaces to ensure uniqueness and prevent conflicts in the application market.

app/appadmin/theme/base/default/system/extensiongii · high confidence

New HTML5 account configuration block for admin settings

Added a new configuration block (\Manager.php\) in the admin module that allows administrators to manage HTML5 account settings. This includes toggles for CAPTCHA on the register, login, forgot password, and contacts pages, options for auto-login after registration and custom redirect URLs, and controls for minimum/maximum name and password lengths.

app/appadmin/modules/Config/block/apphtml5account · high confidence

New HTML5 category page with infinite scroll and refined filtering UI

The HTML5 theme for the category listing page has been implemented, introducing an infinite-scroll product list that loads additional items via AJAX as the user scrolls. The interface now includes dedicated popup modals for sorting and filtering products, allowing users to refine results by subcategory, attributes, and price range. Additionally, product prices are formatted consistently using a helper function to ensure standard decimal display for both regular and special prices.

app/apphtml5/theme/base/html5/catalog/category · high confidence

New HTML5 checkout module for cart and one-page checkout

Introduces the \apphtml5/modules/Checkout\ module, providing the backend logic and controllers for the HTML5 storefront's shopping cart and one-page checkout flows. This includes the \CartController\ for managing cart items and coupons, and the \OnepageController\ handling the single-page checkout process, address management, and order placement. The implementation supports guest checkout (with optional account creation), integrates with the payment service (including Alipay currency handling), and applies XSS filtering to user inputs.

app/apphtml5/modules/Checkout · high confidence

New HTML5 customer account and contact pages

This change introduces the HTML5 theme views for the customer account and contact sections, including login, registration, forgot password, reset password, account index, and contact us pages. The registration and login forms now support configurable CAPTCHA protection, and the registration flow includes an email activation step with a dedicated enable page. The forgot password and reset password flows are fully implemented with success/error states, and the contact form includes CAPTCHA support and validation.

app/apphtml5/theme/base/html5/customer/account · high confidence

New HTML5 customer account editing page

Added a new mobile-optimized view for the customer account editing interface. This page allows users to update their first and last name and optionally change their password via a toggleable form section with client-side validation.

app/apphtml5/theme/base/html5/customer/editaccount · high confidence

New HTML5 customer order list and detail views

This change introduces the HTML5 theme templates for the customer order section, adding the order list page (index.php) and the order detail page (view.php). Users can now view their order history with order numbers, dates, statuses, and actions to view or reorder. The order detail view displays comprehensive information including order status, shipping and payment methods, tracking numbers, and a breakdown of items ordered with subtotals, shipping costs, discounts, and grand totals. It also includes a link to add product reviews directly from the order details page.

app/apphtml5/theme/base/html5/customer/order · high confidence

New HTML5 helper classes for country, formatting, and shipping

Added three new helper classes to the apphtml5 module: Country, Format, and Shipping. The Country helper provides static methods to generate HTML for state/region selection inputs during checkout, supporting both express and standard payment flows. The Format helper offers a utility to format price values with a specified number of decimal places. The Shipping helper is introduced as an empty class extending Yii's BaseObject, likely serving as a placeholder for future shipping-related logic.

app/apphtml5/helper · high confidence

New HTML5 layout templates for mobile storefront pages

Added new layout files for the HTML5 theme (blank, category, home, main, one\_step\_checkout, product\_view, and wxpay\_jsapi). These layouts define the structure for mobile pages, including the inclusion of specific JavaScript (Zepto, Smart Mobile, fec.js) and CSS (Smart Mobile, fec.css) assets, as well as rendering of base widgets like header, menu, and trace.

app/apphtml5/theme/base/html5/layouts · high confidence

New HTML5 product detail page template

The HTML5 mobile theme now includes a dedicated product detail view located at app/apphtml5/theme/base/html5/catalog/product/index.php. This template renders the complete product interface, including image galleries, pricing, quantity selection, and add-to-cart/favorite actions, while also displaying product attributes, descriptions, reviews, and shipping/payment information in a tabbed layout.

app/apphtml5/theme/base/html5/catalog/product · high confidence

New HTML5 product page templates and UI components

This change introduces a complete set of new PHP template files for the HTML5 mobile product detail view, including sections for product images with out-of-stock overlays, custom option selection with dynamic availability logic, tiered wholesale pricing tables, customer reviews with star ratings, and an 'also bought' carousel. It also adds specific UI components for payment method display and standard attribute options, establishing the visual structure and interactive behavior for the mobile product page.

app/apphtml5/theme/base/html5/catalog/product/index · high confidence

New HTML5 theme widgets for navigation, search, and layout

The HTML5 mobile theme now includes a set of new base widgets that define the core user interface structure. These include a header with a logo, menu, and cart icons; a left-side panel containing a product search bar and category navigation; a top search form; breadcrumbs; flash messages for user feedback; a page pagination component; scroll-to-top/bottom controls; and a footer. Additionally, service log printing and JavaScript trace code are now integrated into the page layout.

app/apphtml5/theme/base/html5/widgets · high confidence

New HelperController for Captcha Image Generation

A new HelperController has been added to the Site module, introducing an actionCaptcha method that generates CAPTCHA images with specific styling (30px height, 18px font size) via the helper service. This controller also registers the standard Yii error action, providing a dedicated endpoint for rendering CAPTCHA visuals in the frontend application.

app/appfront/modules/Site/controllers · high confidence

New JavaScript utilities and city picker data for HTML5 app

This change introduces new client-side assets for the HTML5 theme. It adds a \fec.js\ file providing a helper function to submit POST requests via dynamically created forms and a script to handle lazy loading of images with the 'lazy' class. It also includes the \jquery.lazyload.min.js\ library and the \sm-city-picker.js\ (along with its minified version), which embeds a comprehensive dataset of Chinese provinces, cities, and districts to support location selection features.

app/apphtml5/theme/base/html5/assets/js · high confidence

New URL rewrite management interface in admin catalog

Added the Index block for the URL rewrite feature within the Catalog admin module. This component provides the backend UI for managing URL rewrites, including a search bar to filter by origin and custom URLs, a data table displaying rewrite details (ID, type, custom URL, origin URL), and action bars for editing and deleting entries.

app/appadmin/modules/Catalog/block/urlrewrite · high confidence

New admin UI templates for HTML5 store configuration

Added new PHP view templates (manager.php and manageredit.php) for the apphtml5store configuration section in the admin interface. These files provide the HTML structure for listing and editing HTML5 store settings, including search bars, pagination forms, and edit dialogs with fields for store keys, languages, and theme directories.

app/appadmin/theme/base/default/config/apphtml5store · high confidence

New admin configuration controllers for storefronts, payment gateways, and system settings

The admin panel now includes a comprehensive set of new controllers in the Config module to manage specific configuration areas. This adds dedicated endpoints for managing Appfront, Apphtml5, and Appserver settings (including base, account, catalog, cache, home, payment, and store configurations). It also introduces controllers for configuring payment gateways (Alipay, PayPal, WeChat Pay), as well as general system settings such as search, services, multi-language, email, currency, products, orders, cart, and category sorting. These controllers provide the backend API endpoints required for the corresponding admin UI blocks to save and retrieve configuration data.

app/appadmin/modules/Config/controllers · high confidence

New admin configuration templates for manager listing and editing

Added new PHP template files (manager.php and manageredit.php) to the fecadmin theme configuration, providing the default HTML structure for the manager listing page and the edit dialog respectively. These templates define the layout for search bars, toolbars, data tables, and form submissions, establishing the visual presentation for these admin interfaces.

app/appadmin/theme/base/default/fecadmin/config · high confidence

New admin controllers for extension management and error handling

Added new controllers in the System module to manage extensions and errors: AdminurlkeyController for generating admin URL keys, ErrorController for displaying and querying error handler information, ExtensiongiiController for creating extensions via GII, ExtensioninstalledController for managing installed extensions (enable/disable/save), and ExtensionmarketController for browsing, installing, upgrading, and uninstalling extensions from the market, including handling MySQL timeouts during large installations.

app/appadmin/modules/System/controllers · high confidence

New admin logtj block for system log statistics

The admin interface now includes a new 'logtj' block (app/appadmin/modules/Fecadmin/block/logtj/Index.php) that displays system log statistics. This feature allows administrators to view and filter logs by account, person, type (login/visit), and date range, presenting aggregated click counts in a table format.

app/appadmin/modules/Fecadmin/block/logtj · high confidence

New admin order management interface

The admin panel now includes a dedicated order information management view, providing staff with a list view for searching and filtering orders, as well as a detailed edit form. This form allows administrators to update order status, customer details, and shipping tracking numbers, while displaying key order metrics such as totals, payment methods, and customer information.

app/appadmin/theme/base/default/sales/orderinfo · high confidence

New app server account configuration block

Added a new configuration block in the admin panel for managing app server account settings. This block allows administrators to toggle CAPTCHA requirements for the register, login, forgot password, and contacts pages, as well as set minimum and maximum lengths for user names and passwords.

app/appadmin/modules/Config/block/appserveraccount · high confidence

New app server payment configuration block

Added a new configuration block for managing app server payment settings, allowing administrators to enable or disable various payment methods including Check Money, PayPal Standard and Express, Alipay Standard, and WeChat Pay (PC, JsApi, and H5). The block introduces an event mechanism (event\_before\_save\_payment\_config) to facilitate easier extension of payment logic.

app/appadmin/modules/Config/block/appserverpayment · high confidence

New apphtml5 module configuration files added

Added default configuration files for the apphtml5 modules (Catalog, Catalogsearch, Checkout, Cms, Customer, Payment, Site). These files define the module classes and provide commented-out examples for customizable parameters, such as search page titles, product display counts, price ranges, and customer account menu items, allowing developers to override settings in local configuration files.

app/apphtml5/config/modules · high confidence

New appserver Catalog module with product, category, and review APIs

This change introduces the \app/appserver/modules/Catalog\ module, providing REST API endpoints for the appserver environment. It includes controllers for managing product details (\ProductController\), category listings with filtering and caching (\CategoryController\), and product reviews (\ReviewproductController\). The module adds blocks for handling review submission and listing logic, along with a helper for review data retrieval. This enables mobile and mini-program clients to fetch product information, browse categories, and interact with product reviews via the appserver.

app/appserver/modules/Catalog · high confidence

New appserver Checkout module with one-page checkout and WeChat Pay support

This change introduces a new \Checkout\ module for the appserver API, providing endpoints for a one-page checkout flow and WeChat (Wx) specific order placement. The module includes controllers for cart management (\CartController\) and checkout steps (\OnepageController\, \WxController\), along with block classes (\Index\, \Placeorder\, \Wxplaceorder\) that handle cart info retrieval, address initialization, order generation, and payment method selection (including Alipay and WeChat Pay). Users can now interact with the checkout process via the appserver API, including adding items to the cart, selecting shipping/payment methods, and placing orders with support for guest account creation.

app/appserver/modules/Checkout · high confidence

New appserver Customer module for mobile API access

Introduced a new Customer module in the appserver to expose customer-facing functionality via REST APIs. This includes controllers for account management (login, logout, profile updates, password reset), address book management (list, edit, remove), and contact us submissions. It also adds support for third-party social logins via Facebook and Google, as well as WeChat integration. The module provides the necessary backend endpoints for mobile clients to handle user authentication, profile data, and order tracking.

app/appserver/modules/Customer · high confidence

New appserver Payment module with PayPal, Alipay, and WeChat H5/JSAPI support

The appserver now includes a dedicated Payment module that exposes REST endpoints for initiating and reviewing orders via PayPal (Standard and Express), Alipay (Standard), and WeChat Pay (H5 and JSAPI). This adds server-side checkout capabilities for these gateways, allowing mobile and headless clients to start payments, handle IPN/webhook callbacks, and verify transaction status without relying on the web frontend.

app/appserver/modules/Payment · high confidence

New article index block for CMS content rendering

A new PHP block class (Index.php) has been added to the CMS article module to handle the display of individual article pages. This component retrieves active article data by primary key, registers necessary SEO meta tags (keywords, description) and page titles, and returns structured data including the article title, content, and creation date for the view layer.

app/appfront/modules/Cms/block/article · high confidence

New base configuration manager interface

A new configuration management interface has been added for the base theme settings. This change introduces a dedicated form for editing base configuration parameters, including fields for language attributes and text areas, along with standard save and cancel actions. The interface is styled with specific CSS rules for layout and form elements to ensure a consistent user experience within the admin panel.

app/appadmin/theme/base/default/config/base · high confidence

New cache management interface in the admin panel

A new cache management page has been added to the backend administration interface. This page provides a user-facing view for managing cache entries, including search functionality and pagination controls, allowing administrators to refresh or clear caches from various entry points.

app/appadmin/theme/base/default/fecadmin/cache · high confidence

New cart block implementation for the checkout module

The \app/appfront/modules/Checkout/block/cart/Index.php\ block has been added to handle the backend logic for the checkout cart page. This implementation retrieves and formats cart data, including product details, custom options (such as color and size selections), and SPU options, for display to the user. It also manages breadcrumbs navigation based on store configuration, initializes page metadata (title, keywords, description), and generates trace information for analytics when enabled. Additionally, it checks for PayPal Express payment availability and returns structured data including currency info and cart totals.

app/appfront/modules/Checkout/block/cart · high confidence

New catalog helpers for price formatting and language-aware review aggregation

Added two new helper classes to the Catalog module: \Price\ and \Review\. The \Price\ helper provides a method to format product prices and special prices into a standardized structure containing currency symbols and values. The \Review\ helper introduces logic to aggregate product review counts and star ratings, with support for filtering these metrics by the current store language via a \filterByLang\ configuration flag. It also calculates the percentage distribution of star ratings (0-5 stars) for display purposes.

app/appfront/modules/Catalog/helpers · high confidence

New category listing and filtering block components

Added new PHP block classes for the catalog category module, including \Index.php\ for rendering category product lists with sorting, pagination, and subcategory filtering, \Price.php\ for handling product price display logic, and \Page.php\ as a placeholder for pagination configuration. These components enable the frontend to fetch and display category-specific product data, apply price filters, and manage navigation within category pages.

app/appfront/modules/Catalog/block/category · high confidence

New check-money payment flow and success page controllers

Added CheckmoneyController and SuccessController to handle the offline check-money payment process. CheckmoneyController manages the payment start action, which clears the cart and redirects to the payment gateway, and the success action, which clears the cart for guest users and renders the success view. SuccessController provides a generic index action to render the final payment success page using block data.

app/appfront/modules/Payment/controllers · high confidence

New configuration block for HTML5 catalog settings

Added a new Manager class for the apphtml5catalog configuration block in the admin panel. This introduces a dedicated interface for managing HTML5 catalog-specific settings, including options for category and product breadcrumbs, sidebar filters (attributes, categories, price), pagination limits, product display rules (showing only one SKU per SPU), and review page configurations (captcha, counts, login requirements).

app/appadmin/modules/Config/block/apphtml5catalog · high confidence

New configuration block for app front catalog settings

Added a new Manager block for the appfrontcatalog configuration module, enabling administrators to manage product and category display settings (such as breadcrumbs, filters, and image dimensions) via the admin interface. This block retrieves and persists these settings through the store base config service.

app/appadmin/modules/Config/block/appfrontcatalog · high confidence

New configuration interface for App HTML5 Home settings

Administrators now have a dedicated form to manage App HTML5 Home configuration options within the admin theme. This new interface allows users to save and cancel changes to the home page settings via a validated form submission.

app/appadmin/theme/base/default/config/apphtml5home · high confidence

New console commands for order sales computation and pending stock return

Added a new Order console module with controllers to manage order-related background tasks. The \ItemController\ provides commands to count orders, calculate pagination, and compute seller sales scores by aggregating product quantities from recent paid orders. The \ProductController\ includes a command to return inventory for pending orders that have not been paid within a specified time frame, ensuring stock is released back to products.

app/console/modules/Order · high confidence

New console module for product data synchronization and search indexing

A new \Product\ console module has been added to manage the synchronization and indexing of product data between MySQL and MongoDB. This includes controllers to sync inventory quantities from MySQL to MongoDB (\QtyController\), synchronize product data in both directions (\MysqldatatomongoController\, \MongodatatomysqlController\), compute final prices (\PriceController\), and manage full-text search indexes and data for multi-language support via MongoDB and XunSearch (\SearchController\).

app/console/modules/Product · high confidence

New customer contact form block with input sanitization

Added the \Index\ block for the customer contacts module, which handles the display and submission of the contact form. The implementation includes validation for required fields (name, email, comment) and email format, supports optional CAPTCHA verification based on store configuration, and applies HTML encoding to user inputs to mitigate XSS risks before processing.

app/appfront/modules/Customer/block/contacts · high confidence

New email body templates for customer account and contact events

Added new EmailBody classes for the forgot password, login, registration, contact, and newsletter events within the Customer module's mailer block. These templates define the data structure (including user details, store info, and action URLs) passed to the email rendering engine, enabling the system to generate specific transactional emails for these customer interactions.

app/appfront/modules/Customer/block/mailer · high confidence

New email configuration block for admin settings

Added a new Manager block at app/appadmin/modules/Config/block/email that provides an administrative interface for configuring email-related system parameters. This includes settings for base store contact information (name, phone, email), SMTP server details (host, username, password, port, encryption), and toggles for enabling email notifications across various user flows such as registration, login, password reset, contact forms, newsletters, and guest/registered order processes.

app/appadmin/modules/Config/block/base, app/appadmin/modules/Config/block/email · high confidence

New error handling and service logging components

The components directory now includes custom error handlers (AppfrontErrorHandler, AppserverErrorHandler) that standardize API responses by returning structured JSON data for exceptions instead of default error pages, while excluding 404s from collection. Additionally, a ServiceLog component has been added to track service execution details, allowing logs to be saved to the database or printed directly in the frontend HTML based on configuration settings.

components · high confidence

New helper classes for country, formatting, and shipping utilities

Added three new helper classes to the appfront module: \Country\ provides static methods to generate HTML for state/region selection in shipping and billing forms; \Format\ offers a utility to format price values with a specified number of decimal places; and \Shipping\ is introduced as an empty base class extending \yii\\base\\BaseObject\, likely serving as a placeholder for future shipping-related logic.

app/appfront/helper · high confidence

New home page block with SEO and product data support

A new block class for the CMS home page has been added to manage home page content and metadata. This block now retrieves featured and best-selling products, explicitly including review ratings (reviw\_rate\_star\_average) and review counts in the product data. It also initializes the page head by registering meta tags for title, keywords, and description based on store configuration, ensuring proper SEO setup for the home page.

app/appfront/modules/Cms/block/home · high confidence

New login models for admin and customer authentication

Added \AdminUserLogin\ and \CustomerLogin\ model classes to handle authentication logic for admin and customer users respectively. These models validate credentials (username/email and password) and manage the login process, including setting cookie durations based on session timeout settings to keep account and cart session lifetimes consistent.

fancyecommerce/fecshop · high confidence

New mobile shopping cart page with PayPal Express integration

A new HTML5 shopping cart view has been added for the mobile app, allowing users to manage cart items, apply discount coupons, and view detailed cost breakdowns including sub-weight and sub-volume. The page now supports PayPal Express Checkout, rendering a dedicated button for one-click payments alongside the standard 'Proceed to Pay' option.

app/apphtml5/theme/base/html5/checkout/cart · high confidence

New product information editing blocks for the admin catalog

The admin interface now includes dedicated PHP blocks for managing product details, specifically \Manageredit\ for single-product editing, \Managerbatchedit\ for bulk operations, \Index\ for the product list view, \Imageupload\ for handling image uploads, and \Getproductcategory\ for retrieving category trees. These components provide the backend structure for editing product attributes, managing custom options, handling image uploads with thumbnail/detail flags, and displaying product data in the admin catalog module.

app/appadmin/modules/Catalog/block/productinfo · high confidence

New shell scripts for data synchronization, search indexing, and maintenance

Added a suite of command-line shell scripts to the \shell/\ directory to support backend maintenance tasks. These include \fullSearchSync.sh\ and \deleteXunSearchAllData.sh\ for initializing and managing product search indexes (supporting MongoDB full-text and XunSearch), \urlRewrite.sh\ for regenerating URL rewrites and cleaning up stale entries, and \sitemapGeneral.sh\ for generating XML sitemaps. The update also introduces data synchronization utilities (\syncCategoryAndProducMysqlDataToMongo.sh\, \syncCategoryAndProductMongoDataToMysql.sh\, \syncMysqlProductQtyToMongo.sh\) to move product and category data between MySQL and MongoDB, alongside scripts for computing final prices (\computeProductFinalPrice.sh\), calculating seller counts (\order/productSellerCount.sh\), and returning inventory from pending orders (\order/returnPendingProductQtyStock.sh\). A \README.md\ file documents the usage of these new tools.

shell · high confidence

One-page checkout now supports order remarks

The one-page checkout template has been updated to include an optional 'Order Remark' field, allowing customers to add notes to their order before placing it. This new textarea is integrated into the middle column of the checkout form, alongside shipping and payment sections, and is submitted with the order.

app/apphtml5/theme/base/html5/checkout/onepage · high confidence

Product page now supports custom options, detailed reviews, and shipping dimensions

The product detail page now displays custom options (such as color or size selectors) that can trigger image changes, alongside a dedicated section for customer reviews with star ratings and counts. Additionally, product specifications now include shipping details like weight (in grams) and dimensions (length, width, height), and the page layout has been adjusted to support these new data points.

app/appfront/modules/Catalog/block/product · high confidence

Product review submission and listing functionality added to appfront

This change introduces the \Add\ and \Lists\ block classes for the Catalog module's product review feature. The \Add\ block enables customers to submit product reviews, including validation for required fields, optional CAPTCHA protection, and a configurable permission check that restricts reviews to users who have previously ordered the product. The \Lists\ block handles the display of product reviews, supporting pagination, filtering by product SPU, and showing review statistics such as average star ratings and total count. These blocks read configuration settings (like review page item count and CAPTCHA enablement) from the store configuration.

app/appfront/modules/Catalog/block/reviewproduct · high confidence

Security

Admin customer controllers enable CSRF validation

New controllers for managing customer accounts, contacts, and newsletter subscriptions in the admin panel now enforce CSRF (Cross-Site Request Forgery) protection. This change ensures that POST requests to these endpoints are validated, preventing unauthorized state-changing actions from external sources.

app/appadmin/modules/Customer/controllers · high confidence

Architecture

Admin module refactored with new base controller and block architecture

The appadmin module introduces a new base controller (AppadminController) and block classes (AppadminbaseBlock, AppadminbaseBlockEdit) along with their corresponding interfaces. This change establishes a structured, multi-theme aware rendering system for the admin interface, allowing views and layouts to be resolved from local or third-party theme directories. It also implements role-based access control checks in the controller's beforeAction method and provides a standardized block-based architecture for generating list, search, and edit forms, replacing the previous ad-hoc implementation.

app/appadmin/modules · high confidence

Behavioural changes

Add admin theme templates for product review management

The admin interface for managing product reviews now includes dedicated view templates (index.php and manageredit.php) within the base default theme. These files provide the HTML structure for the review listing page and the edit dialog, including fields for product details, store, language code, and review date, along with localized labels for the admin UI.

app/appadmin/theme/base/default/catalog/productreview · high confidence

The Catalogsearch module now includes an IndexController that handles product search requests. For mobile users, the controller detects the device type and redirects the request to the Vue-based frontend, while desktop users are served the standard search results page.

app/appfront/modules/Catalogsearch/controllers · high confidence

Added HTML5 view templates for newsletter and payment success/error states

This change introduces new HTML5 theme view files for the customer newsletter and payment modules. Specifically, it adds templates for the newsletter index (displaying a message) and error states, as well as success pages for general payments and the checkmoney offline payment method. These views ensure that users see appropriate confirmation messages and order increment IDs after completing transactions or encountering newsletter errors on the HTML5 interface.

app/apphtml5/theme/base/html5/customer/newsletter, app/apphtml5/theme/base/html5/payment, app/apphtml5/theme/base/html5/payment/checkmoney · high confidence

Added empty index template for fecadmin

An empty PHP template file has been added at app/appadmin/theme/base/default/fecadmin/index/index.php. This file serves as a placeholder within the admin theme structure, likely supporting the multi-template mechanism mentioned in the commit message, though it currently contains no content or logic.

app/appadmin/theme/base/default/fecadmin/index · low confidence

Added error handling page for WeChat H5 payments

A new review.php template has been added to the WeChat H5 payment flow, providing a user-facing error page that displays payment failure messages and offers a 'Retry Payment' button to restart the transaction.

app/apphtml5/theme/base/html5/payment/wxpayh5 · high confidence

Admin RBAC system refactored to use URL keys

The database schema for the admin panel's role-based access control has been restructured. The previous \admin\_menu\ and \admin\_role\_menu\ tables are dropped and replaced with \admin\_url\_key\ and \admin\_role\_url\_key\ tables, shifting the permission model from hierarchical menu nodes to granular URL-based resources. This migration also includes data updates to standardize URL keys with leading slashes and translates the resource names in the \admin\_url\_key\ table from Chinese to English.

migrations · high confidence

Admin account management UI moved to appadmin

The admin account interface (account index, manager list, and manager edit views) has been migrated from the fecadmin library package to the appadmin application. This change introduces new PHP view templates for the account dashboard, user management table, and role assignment forms, ensuring the backend account management functionality is now handled within the appadmin module.

app/appadmin/theme/base/default/fecadmin/account · high confidence

Admin catalog controllers enable CSRF validation and implement product access controls

The Catalog admin controllers (Category, Productinfo, Productbrand, Productreview, etc.) now enforce CSRF protection on all actions and restrict product editing, saving, and deletion to the creating user unless the admin has specific 'all' role permissions. Productinfo also adds SPU uniqueness validation.

app/appadmin/modules/Catalog/controllers · high confidence

Admin category Excel upload now skips rows without a category ID

The category upload block in the admin module now handles Excel files more robustly by skipping any rows that do not contain a category ID. Previously, missing IDs might have caused errors or unexpected behavior; now, the \saveCategory\ method checks for the presence of a category ID and returns true to continue processing if it is absent, allowing users to upload files with empty or incomplete rows without interrupting the entire import process.

app/appadmin/modules/Catalog/block/categoryupload · high confidence

Admin category management UI and image handling overhaul

The admin interface for catalog categories has been redesigned with a new layout featuring a category tree on the left and a tabbed detail view on the right. This update introduces the ability to upload and delete thumbnail and category images directly within the admin panel, including a dedicated delete button for images. The category list view now includes CSRF protection for delete actions, and the product association tab has been enhanced with AJAX-powered search, sorting, and pagination capabilities.

app/appadmin/theme/base/default/catalog/category · high confidence

Admin configuration for multi-language settings with default language protection

A new Manager class has been added to the multi-language configuration block to handle the storage and validation of language settings. This component enables administrators to manage language codes and associated search engine configurations via the admin panel. Crucially, it enforces a validation rule that prevents the deletion of the system's default base language code, ensuring that a valid default language always remains configured.

app/appadmin/modules/Config/block/mutillang · high confidence

Admin dashboard layout and login page redesign

The admin interface now features a new dashboard layout (dashboard.php) that integrates ECharts for statistical visualizations and displays recent system statistics such as product counts. The login page (login.php) has been updated with a new visual style and includes a language selector dropdown. Additionally, a simplified main layout (main\_admin.php) has been introduced to support the new multi-template mechanism for the admin theme.

app/appadmin/theme/base/default/layouts · high confidence

Admin extension market now supports manual installation and upgrade

The admin extension market block now allows administrators to manually install and upgrade extensions. New \Login\ and \Manager\ classes handle authentication and list management, introducing logic to detect which extensions are eligible for manual installation or upgrade based on local installation status and version comparisons. This enables users to manage extensions directly via the admin interface rather than relying solely on automated processes.

app/appadmin/modules/System/block/extensionmarket · high confidence

Admin interface receives a comprehensive visual overhaul

The admin panel's appearance has been significantly updated with new CSS files (appadmin.css, bootstrap-appadmin.css, login.css, jquery-editable-select.css) that modernize the UI. This includes a refreshed layout with updated sidebar and header styling, improved form controls with rounded borders and new input colors, and enhanced table and pagination components. The login page also receives a dedicated style update, and the interface now supports new UI elements like editable select dropdowns and dialog backgrounds.

app/appadmin/theme/base/default/assets/css · high confidence

Admin login page rebranded to FecMall with CSRF protection

The admin login interface has been updated to display the FecMall brand name instead of the previous FECMALL/Fecshop branding. The login form now includes CSRF token protection via \CRequest::getCsrfInputHtml()\ to enhance security, and the footer links and documentation references have been updated to point to the FecMall website and guides.

app/appadmin/theme/base/default/fecadmin/login · high confidence

Admin system log view migrated to Fecadmin module

The admin system log index block has been moved to the Fecadmin module (app/appadmin/modules/Fecadmin/block/log/Index.php) and now uses the fecshop appadmin service for system logs. This change updates the underlying block implementation and includes translations for the log view labels (Account, User Name, Resource, etc.), ensuring the admin log interface is consistent with the Fecadmin module structure.

app/appadmin/modules/Fecadmin/block/log · high confidence

Admin user password update capability added to My Account block

The Index block in the Fecadmin My Account module now supports updating the current admin user's password via an AJAX request. When the 'updatepass' parameter is provided, the block calls the service layer to reset the password and returns a JSON response indicating success or failure. Additionally, the block class now extends \\yii\\base\\BaseObject instead of the previous parent class.

app/appadmin/modules/Fecadmin/block/myaccount · high confidence

App HTML5 home page with language/currency switching and lazy loading

The home page template for the App HTML5 theme now includes a footer bar allowing users to switch between available languages and currencies directly from the homepage. The page also implements lazy loading for images to improve performance and displays a featured products list with infinite scroll support.

app/apphtml5/theme/base/html5/cms/home · high confidence

Catalog module initialization and layout configuration

The Catalog module for the appfront area is now initialized, setting up the controller and block namespaces and configuring the default page layout to 'main.php'.

app/appfront/modules/Catalog · high confidence

Custom Yii2 framework extensions for FecShop

This change introduces a set of custom extensions to the Yii2 framework to support FecShop's specific requirements. The \Yii\ class is extended to provide a service container and a class rewrite map for overriding core models. Authentication is customized via \AppapiQueryParamAuth\ and \QueryParamAuth\ to handle API and web token validation through service layers. The \Request\ class is rewritten to support SEO-friendly URL rewrites by mapping custom URLs to internal Yii routes via a database lookup. The \User\ component is modified to automatically restore the shopping cart ID when a user logs in via cookie. Additionally, the \ErrorHandler\ is updated to mask sensitive database connection details in error logs, the \View\ class gains support for registering external JavaScript files, and the \PhpMessageSource\ is extended to merge translation files from multiple base paths.

yii · high confidence

Customer account edit page now supports breadcrumbs and HTML encoding

The customer account editing interface now includes breadcrumb navigation, controlled by the \account\_information\_breadcrumbs\ configuration parameter, allowing users to easily navigate back from the edit page. Additionally, user input for account details is now HTML-encoded before processing, which mitigates cross-site scripting (XSS) risks by sanitizing data entered in fields such as first name, last name, and password changes.

app/appfront/modules/Customer/block/editaccount · high confidence

Customer address management blocks implemented with XSS protection and breadcrumbs

The Customer module now includes dedicated block classes for managing shipping addresses. The new Edit block handles address updates with HTML encoding to mitigate XSS risks, auto-fills user details (email, name), and supports dynamic state selection. The Index block lists the current user's addresses with pagination and allows removal. Both blocks integrate breadcrumb navigation, controlled by specific module parameters.

app/appfront/modules/Customer/block/address · high confidence

Font Awesome assets are now bundled locally

The Font Awesome 4.7.0 CSS and font files are now included directly in the application's default theme assets. This change ensures that the admin interface loads icons from the local server rather than a remote CDN, resolving display issues that occurred when the backend was accessed over HTTPS.

app/appadmin/theme/base/default/assets/font-awesome · high confidence

HTML5 home page product display and pricing formatting

The HTML5 CMS home page now renders product listings with consistent two-column grid layout and displays out-of-stock items with a visible 'OUT OF STOCK' badge. Product prices are formatted using the \numberFormat\ helper to ensure consistent decimal display (e.g., xx.00), and images utilize lazy loading for improved performance.

app/apphtml5/theme/base/html5/cms/home/index · high confidence

Initialize Site module with default home layout

The Site module in the appfront area is now initialized to automatically set the default page layout to 'home.php' for web requests. This ensures that pages within this module render using the specified layout by default without requiring manual configuration.

app/appfront/modules/Site · high confidence

Migrate Fecadmin controllers to appadmin

The Fecadmin controllers (Account, Cache, Config, Error, Index, Log, Login, Logout, Logtj, Myaccount, Resource, Role, Systemlog) have been moved from the fecadmin package to the appadmin module. This migration includes implementing CSRF validation for most controllers, updating the login/logout flow to use the new appadmin service, and deprecating the Systemlog manager feature.

app/appadmin/modules/Fecadmin/controllers · high confidence

My Account page now supports multiple languages

The My Account view template has been updated to use the translation service for all user-facing labels (Account, Old Password, New Password, Password Confirmation, Save, Cancel). This change enables the My Account interface to be displayed in multiple languages, improving accessibility for non-English speaking users.

app/appadmin/theme/base/default/fecadmin/myaccount · high confidence

New PayPal Express Checkout flow with deferred inventory deduction

The PayPal Express payment block now implements a complete checkout sequence (Start, Review, Placeorder) that defers inventory deduction and cart clearing until after payment confirmation. Previously, stock was deducted immediately upon order generation; the new logic in Placeorder.php generates the order first, waits for the PayPal DoExpressCheckoutPayment success callback, and only then clears the cart and deducts stock. This prevents automated scripts from releasing reserved inventory if the payment fails or is cancelled. The Start.php block also adds a preliminary stock check before initiating the PayPal token request.

app/appfront/modules/Payment/block/paypal/express · high confidence

New helper for translating product status and stock options

A new helper class (Product) has been added to the Catalog module to provide translated labels for product status (Enable/Disable) and stock availability (In stock/Out of stock). This ensures that these specific product attributes are correctly localized in the admin interface.

app/appadmin/modules/Catalog/helper · high confidence

New product search block implementation with XSS protection and trace data

The Catalogsearch module now includes a new Index block class that handles product search logic, including pagination, filtering, and sorting. This change introduces specific security hardening by filtering XSS attack characters in user-editable data and implements a trace data feature that sends search query and result quantity information to analytics (GA) when enabled. The block also integrates with MongoDB full-text search capabilities and ensures all classes inherit from \\yii\\base\\BaseObject.

app/appfront/modules/Catalogsearch/block · high confidence

Page caching and mobile redirection for CMS home and article pages

The Cms controllers for the home and article pages now include page caching via Yii's PageCache filter, with cache keys varying by store, currency, and specific URL parameters, while allowing cache bypass via a disable parameter. Additionally, these controllers implement mobile detection to redirect mobile users to the appropriate mobile app server path.

app/appfront/modules/Cms/controllers · high confidence

Payment success page now clears cart and coupon data

The payment success page block now automatically clears the shopping cart products and coupons after an order is placed. This ensures that completed transactions do not leave residual items in the cart, improving the user experience by resetting the shopping state upon successful payment.

app/appfront/modules/Payment/block/success · high confidence

Prevent deletion of base currency in admin configuration

The currency configuration manager now validates that the base currency cannot be removed from the list of active currencies. When saving currency settings, the system checks if the configured base currency is still present; if it has been deleted, the save operation is rejected with an error message, ensuring the store always retains a valid base currency.

app/appadmin/modules/Config/block/currency · high confidence

Project rebranding to Fecmall and license change to BSD-3-Clause

The project has been renamed from Fecshop to Fecmall, with documentation and configuration updated to reflect the new identity and point to the Fecmall 2.x installation guides. The open-source license has been changed from MIT to BSD-3-Clause, and the repository now includes standard configuration files (.editorconfig, .php\_cs.dist, .styleci.yml) to enforce code style and formatting rules for developers.

(repo-wide) · high confidence

Unauthenticated users are redirected to login when adding a product to favorites

The product favorite block now checks if a user is logged in before attempting to add a product to their favorites list. If the user is a guest, the system saves the current product URL as the post-login redirect target and immediately redirects the user to the login page, preventing errors or undefined behavior for unauthenticated requests.

app/appfront/modules/Catalog/block/favoriteproduct · high confidence

Dependencies

Initial release of Yii2 Fecshop ecommerce extension

This change introduces the initial composer.json manifest for the fancyecommerce/fecshop Yii2 extension, establishing the project's core dependencies. It requires PHP 5.4.0 or higher and Yii2 version 2.0.40 or later, while also pulling in specific versions of supporting libraries such as yiisoft/yii2-swiftmailer, fancyecommerce/fec, fancyecommerce/fec\_admin, league/iso3166, facebook/graph-sdk, geoip2/geoip2, and hightman/xunsearch. The package is licensed under BSD-3-Clause and configured with PSR-4 autoloading for the fecshop namespace.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 24.

Lenses

  • Code Health 28
  • Architecture 93
  • Maturity 50
  • Readiness 8
  • Security 66
  • Accessibility 30

Changes since last survey

  • 300 commits — 291 feature/other, 9 fixes

By area

  • app/appadmin — 52 commits
  • app/appfront — 43 commits
  • services/product — 32 commits
  • services/Helper.php — 28 commits
  • app/appapi — 27 commits
  • migrations/mysqldb — 18 commits
  • app/apphtml5 — 11 commits
  • (root) — 8 commits
  • services/page — 8 commits
  • config/services — 7 commits
  • app/appserver — 6 commits
  • services/helper — 6 commits
  • services/category — 5 commits
  • (repo) — 4 commits
  • services/cms — 4 commits
  • models/mongodb — 3 commits
  • models/mysqldb — 3 commits
  • services/FecshopLang.php — 3 commits
  • services/Image.php — 3 commits
  • services/Order.php — 3 commits

Notable commits

  • fix: Fix parameter annotation and example in Cart.php
  • fix: appfront menu html bug
  • fix: bug fix
  • fix: bug fix: admin delete mutil-account
  • fix: bug fix: admin user change password >=6
  • fix: bug fix: cms staticblock status enable
  • fix: cms article bug fix: article enable status
  • fix: js bug fix: product page change qty js error - custom_option_arr is not defined
  • fix: sql bug
  • change: 2.13.1
  • change: 2.13.3
  • change: 2.15.1
  • change: 2.17.1
  • change: 2.17.2
  • change: 2.17.4
  • change: AdminUserForm model
  • change: AppadminbaseBlockEdit
  • change: Create SECURITY.md
  • change: Fecmall Use BSD LICENSE
  • change: Mention AI Codex in README
  • …and 280 more

Architecture

  • 0 containers · 1 bounded contexts · 0 dependency edges (baseline)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

fecshop/yii2_fecshop was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 19c5cb8f4848a6ef0194e3b9add050c5853cae94 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.