- Implemented CronJobProcessor for managing scheduled jobs and processing job queues.
- Created CronJobRepository for database interactions related to cron jobs.
- Defined CronJobType for job types, statuses, and backoff calculations.
- Added ApiloLogger for logging actions related to API interactions.
- Enhanced UpdateController to check for updates and display update logs.
- Updated FormAction to include a preview action for forms.
- Modified ApiRouter to handle new dependencies for OrderAdminService and ProductsApiController.
- Extended DictionariesApiController to manage attributes and producers.
- Enhanced ProductsApiController with variant management and image upload functionality.
- Updated ShopBasketController and ShopProductController to sort attributes and handle custom fields.
- Added configuration for cron jobs in config.php.
- Initialized apilo-sync-queue.json for managing sync tasks.
- Created Articles.php for rendering article views including full articles, miniature lists, and news sections.
- Added Banners.php for handling banner displays.
- Introduced Languages.php for rendering language options.
- Implemented Menu.php for dynamic menu rendering.
- Developed Newsletter.php for newsletter view rendering.
- Created Scontainers.php for rendering specific containers.
- Added ShopCategory.php for category descriptions and product listings.
- Introduced ShopClient.php for managing client-related views such as address editing and order history.
- Implemented ShopPaymentMethod.php for displaying payment methods in the basket.
- Created ShopProduct.php for generating product URLs.
- Added ShopSearch.php for rendering a simple search form.
- Added .htaccess file to enhance security by restricting access to sensitive files and directories.
- Added `security_information` parameter to `ShopProduct::save` method.
- Refactored language handling in product saving to utilize `Languages::languages_list`.
- Updated SEO link handling to ensure proper redirection and canonical URLs.
- Improved error handling and logging during the update process in `Update` class.
- Enhanced producer and product classes to include additional language data.
- Updated version to 0.233 and added update logs for better tracking.
This commit refactors the code in the ShopProduct class to improve the process of deleting a product and updating the SEO links. It adds new database queries to delete entries from the pp_routes and pp_redirects tables when a product is deleted. It also updates the SEO links for translated product names, ensuring that the new SEO link is generated correctly and checking for any existing redirects before adding a new one. Additionally, the commit adds a new function, canAddRedirect, to check for cycles in the redirect map before adding a new redirect.
Refactor deleting product and updating SEO links in class.S
This commit refactors the clear_redis_cache function in the S class to improve the process of updating the routes and redirects in the .htaccess file. It adds new database queries to delete entries from the pp_routes table and updates the code to generate the RewriteRule directives for the routes. It also adds a new condition to the .htaccess file to skip rewriting requests for existing files and directories.
Refactor retrieving subcategories in class.Category
This commit refactors the getCategoryData function in the Category class to improve the process of retrieving subcategories. It removes the ORDER clause from the database query to retrieve subcategories, allowing the categories to be returned in their natural order. This change ensures that the subcategories are displayed correctly in the category navigation.
Check redirects and routes in index.php
This commit adds new code to the index.php file to check for redirects and routes before processing the request. It checks if the requested URL matches any entries in the pp_redirects table and redirects the user to the new URL if a match is found. It also checks if the requested URL matches any entries in the pp_routes table and parses the destination to extract GET parameters if a match is found. This change improves the handling of redirects and routes in the application.