Changeset 3412783
- Timestamp:
- 12/06/2025 06:49:39 AM (3 months ago)
- Location:
- sync-basalam
- Files:
-
- 276 added
- 1 deleted
- 11 edited
-
tags/1.6.0 (added)
-
tags/1.6.0/CHANGELOG.md (added)
-
tags/1.6.0/assets (added)
-
tags/1.6.0/assets/admin (added)
-
tags/1.6.0/assets/admin/css (added)
-
tags/1.6.0/assets/admin/js (added)
-
tags/1.6.0/assets/category (added)
-
tags/1.6.0/assets/category/css (added)
-
tags/1.6.0/assets/category/js (added)
-
tags/1.6.0/assets/css (added)
-
tags/1.6.0/assets/css/font.css (added)
-
tags/1.6.0/assets/css/logs.css (added)
-
tags/1.6.0/assets/css/onboarding.css (added)
-
tags/1.6.0/assets/css/social.css (added)
-
tags/1.6.0/assets/css/style.css (added)
-
tags/1.6.0/assets/css/sync-basalam-vendor-modal.css (added)
-
tags/1.6.0/assets/fonts (added)
-
tags/1.6.0/assets/fonts/moraba (added)
-
tags/1.6.0/assets/fonts/moraba/Morabba-Bold.woff2 (added)
-
tags/1.6.0/assets/fonts/moraba/Morabba-Regular.woff2 (added)
-
tags/1.6.0/assets/fonts/moraba/Morabba-SemiBold.woff2 (added)
-
tags/1.6.0/assets/fonts/pelak (added)
-
tags/1.6.0/assets/fonts/pelak/PelakFA-Bold.woff2 (added)
-
tags/1.6.0/assets/fonts/pelak/PelakFA-Regular.woff2 (added)
-
tags/1.6.0/assets/fonts/pelak/PelakFA-SemiBold.woff2 (added)
-
tags/1.6.0/assets/icons (added)
-
tags/1.6.0/assets/icons/arrow.svg (added)
-
tags/1.6.0/assets/icons/close.svg (added)
-
tags/1.6.0/assets/icons/create.svg (added)
-
tags/1.6.0/assets/icons/error.svg (added)
-
tags/1.6.0/assets/icons/info-black.svg (added)
-
tags/1.6.0/assets/icons/info.svg (added)
-
tags/1.6.0/assets/icons/new.svg (added)
-
tags/1.6.0/assets/icons/order.svg (added)
-
tags/1.6.0/assets/icons/product.svg (added)
-
tags/1.6.0/assets/icons/submit.svg (added)
-
tags/1.6.0/assets/icons/sync.svg (added)
-
tags/1.6.0/assets/icons/trash.svg (added)
-
tags/1.6.0/assets/icons/unsync.svg (added)
-
tags/1.6.0/assets/icons/update.svg (added)
-
tags/1.6.0/assets/images (added)
-
tags/1.6.0/assets/images/aparat.png (added)
-
tags/1.6.0/assets/images/bale.png (added)
-
tags/1.6.0/assets/images/basalam-logotype.svg (added)
-
tags/1.6.0/assets/images/gmail.png (added)
-
tags/1.6.0/assets/images/help.svg (added)
-
tags/1.6.0/assets/images/logo.svg (added)
-
tags/1.6.0/assets/images/logowoosalam.png (added)
-
tags/1.6.0/assets/images/telegram.png (added)
-
tags/1.6.0/assets/js (added)
-
tags/1.6.0/assets/js/admin.js (added)
-
tags/1.6.0/assets/js/check-sync.js (added)
-
tags/1.6.0/assets/js/connect-modal.js (added)
-
tags/1.6.0/assets/js/generate-product-variation.js (added)
-
tags/1.6.0/assets/js/get-category.js (added)
-
tags/1.6.0/assets/js/help.js (added)
-
tags/1.6.0/assets/js/logs.js (added)
-
tags/1.6.0/assets/js/manage-box.js (added)
-
tags/1.6.0/assets/js/map-category-option.js (added)
-
tags/1.6.0/assets/js/mobile-category.js (added)
-
tags/1.6.0/assets/js/order.js (added)
-
tags/1.6.0/assets/js/product-fields.js (added)
-
tags/1.6.0/assets/js/round.js (added)
-
tags/1.6.0/assets/logs (added)
-
tags/1.6.0/assets/logs/css (added)
-
tags/1.6.0/assets/logs/js (added)
-
tags/1.6.0/assets/onboarding (added)
-
tags/1.6.0/assets/onboarding/css (added)
-
tags/1.6.0/assets/onboarding/js (added)
-
tags/1.6.0/assets/order (added)
-
tags/1.6.0/assets/order/css (added)
-
tags/1.6.0/assets/order/js (added)
-
tags/1.6.0/assets/product (added)
-
tags/1.6.0/assets/product/css (added)
-
tags/1.6.0/assets/product/js (added)
-
tags/1.6.0/assets/utilities (added)
-
tags/1.6.0/assets/utilities/css (added)
-
tags/1.6.0/assets/utilities/js (added)
-
tags/1.6.0/class-sync-basalam-job-manager.php (added)
-
tags/1.6.0/includes (added)
-
tags/1.6.0/includes/admin (added)
-
tags/1.6.0/includes/admin/class-sync-basalam-admin-settings.php (added)
-
tags/1.6.0/includes/admin/class-sync-basalam-admin-ui.php (added)
-
tags/1.6.0/includes/admin/class-sync-basalam-category-mapping.php (added)
-
tags/1.6.0/includes/admin/class-sync-basalam-category-options.php (added)
-
tags/1.6.0/includes/admin/class-sync-basalam-faq.php (added)
-
tags/1.6.0/includes/admin/class-sync-basalam-menus.php (added)
-
tags/1.6.0/includes/admin/class-sync-basalam-onboarding-manager.php (added)
-
tags/1.6.0/includes/admin/class-sync-basalam-product-service.php (added)
-
tags/1.6.0/includes/admin/order (added)
-
tags/1.6.0/includes/admin/order/class-sync-basalam-check-orders-button.php (added)
-
tags/1.6.0/includes/admin/order/class-sync-basalam-order-column.php (added)
-
tags/1.6.0/includes/admin/order/class-sync-basalam-order-meta-box.php (added)
-
tags/1.6.0/includes/admin/order/class-sync-basalam-order-statuses.php (added)
-
tags/1.6.0/includes/admin/order/views (added)
-
tags/1.6.0/includes/admin/order/views/order-tracking-box.php (added)
-
tags/1.6.0/includes/admin/pages (added)
-
tags/1.6.0/includes/admin/pages/SyncBasalamAdminPageInterface.php (added)
-
tags/1.6.0/includes/admin/pages/SyncBasalamCategoryMappingPage.php (added)
-
tags/1.6.0/includes/admin/pages/SyncBasalamHelpPage.php (added)
-
tags/1.6.0/includes/admin/pages/SyncBasalamInfoPage.php (added)
-
tags/1.6.0/includes/admin/pages/SyncBasalamLogsPage.php (added)
-
tags/1.6.0/includes/admin/pages/SyncBasalamMainPage.php (added)
-
tags/1.6.0/includes/admin/pages/SyncBasalamOnboardingPage.php (added)
-
tags/1.6.0/includes/admin/pages/SyncBasalamUnsyncedProductsPage.php (added)
-
tags/1.6.0/includes/admin/product (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-admin-product-operations.php (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-bulk-product-actions.php (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-create-product-data-v2.php (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-get-product-data.php (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-mobile-product-fields.php (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-product-filter.php (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-product-meta-box.php (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-product-status-column.php (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-product-type-fields.php (added)
-
tags/1.6.0/includes/admin/product/class-sync-basalam-product-wholesale-field.php (added)
-
tags/1.6.0/includes/class-sync-basalam-order-endpoint.php (added)
-
tags/1.6.0/includes/class-sync-basalam-plugin-activator.php (added)
-
tags/1.6.0/includes/class-sync-basalam-plugin.php (added)
-
tags/1.6.0/includes/class-sync-basalam-route-action.php (added)
-
tags/1.6.0/includes/controller (added)
-
tags/1.6.0/includes/controller/category-actions (added)
-
tags/1.6.0/includes/controller/category-actions/class-sync-basalam-create-category-map.php (added)
-
tags/1.6.0/includes/controller/category-actions/class-sync-basalam-fetch-basalam-categories.php (added)
-
tags/1.6.0/includes/controller/category-actions/class-sync-basalam-get-category-mappings.php (added)
-
tags/1.6.0/includes/controller/category-actions/class-sync-basalam-get-mapping-stats.php (added)
-
tags/1.6.0/includes/controller/category-actions/class-sync-basalam-get-woo-categories.php (added)
-
tags/1.6.0/includes/controller/category-actions/class-sync-basalam-remove-category-map.php (added)
-
tags/1.6.0/includes/controller/class-sync-basalam-action-controller.php (added)
-
tags/1.6.0/includes/controller/class-sync-basalam-update-settings.php (added)
-
tags/1.6.0/includes/controller/option-actions (added)
-
tags/1.6.0/includes/controller/option-actions/class-sync-basalam-create-map-option.php (added)
-
tags/1.6.0/includes/controller/option-actions/class-sync-basalam-remove-map-option.php (added)
-
tags/1.6.0/includes/controller/order-actions (added)
-
tags/1.6.0/includes/controller/order-actions/class-sync-basalam-auto-confirm-orders.php (added)
-
tags/1.6.0/includes/controller/order-actions/class-sync-basalam-cancel-order.php (added)
-
tags/1.6.0/includes/controller/order-actions/class-sync-basalam-confirm-order.php (added)
-
tags/1.6.0/includes/controller/order-actions/class-sync-basalam-delay-order.php (added)
-
tags/1.6.0/includes/controller/order-actions/class-sync-basalam-fetch-unsync-orders.php (added)
-
tags/1.6.0/includes/controller/order-actions/class-sync-basalam-request-cancel-order.php (added)
-
tags/1.6.0/includes/controller/order-actions/class-sync-basalam-tracking-code-order.php (added)
-
tags/1.6.0/includes/controller/product-actions (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-archive-product.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-cancel-connect-all-products.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-cancel-create-products.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-cancel-debug.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-cancel-update-products.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-clear-logs.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-connect-all-products.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-connect-single-product.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-create-all-products.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-create-single-product.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-detection-product-categories.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-disconnect-product.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-get-category-attributes.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-restore-product.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-update-all-products.php (added)
-
tags/1.6.0/includes/controller/product-actions/class-sync-basalam-update-single-product.php (added)
-
tags/1.6.0/includes/logger (added)
-
tags/1.6.0/includes/logger/class-sync-basalam-logger.php (added)
-
tags/1.6.0/includes/logger/class-sync-basalam-woo-logger.php (added)
-
tags/1.6.0/includes/logger/class-sync-basalam-wp-logger.php (added)
-
tags/1.6.0/includes/logger/interface-sync-basalam-logger-interface.php (added)
-
tags/1.6.0/includes/migration (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migration-V-1-3-0.php (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migration-V-1-3-2.php (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migration-V-1-3-8.php (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migration-V-1-3-9.php (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migration-V-1-4-0.php (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migration-V-1-4-1.php (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migration-V-1-5-4.php (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migration-interface.php (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migration-manager.php (added)
-
tags/1.6.0/includes/migration/class-sync-basalam-migrator-service.php (added)
-
tags/1.6.0/includes/productListeners (added)
-
tags/1.6.0/includes/productListeners/class-sync-basalam-archive-product-listener.php (added)
-
tags/1.6.0/includes/productListeners/class-sync-basalam-create-product-listener.php (added)
-
tags/1.6.0/includes/productListeners/class-sync-basalam-listener.php (added)
-
tags/1.6.0/includes/productListeners/class-sync-basalam-restore-product-listener.php (added)
-
tags/1.6.0/includes/productListeners/class-sync-basalam-update-product-listener.php (added)
-
tags/1.6.0/includes/productListeners/interface-sync-basalam-listener-interface.php (added)
-
tags/1.6.0/includes/productListeners/trait-sync-basalam-check-product-status.php (added)
-
tags/1.6.0/includes/queue (added)
-
tags/1.6.0/includes/queue/class-sync-basalam-queue-abstract.php (added)
-
tags/1.6.0/includes/queue/class-sync-basalam-queue-manager.php (added)
-
tags/1.6.0/includes/queue/tasks (added)
-
tags/1.6.0/includes/queue/tasks/class-sync-basalam-auto-connect-products.php (added)
-
tags/1.6.0/includes/queue/tasks/class-sync-basalam-bulk-update-products.php (added)
-
tags/1.6.0/includes/queue/tasks/class-sync-basalam-clear-log-files.php (added)
-
tags/1.6.0/includes/queue/tasks/class-sync-basalam-create-product-operation.php (added)
-
tags/1.6.0/includes/queue/tasks/class-sync-basalam-debug.php (added)
-
tags/1.6.0/includes/queue/tasks/class-sync-basalam-product-discount-dispatcher.php (added)
-
tags/1.6.0/includes/queue/tasks/class-sync-basalam-update-product.php (added)
-
tags/1.6.0/includes/services (added)
-
tags/1.6.0/includes/services/class-sync-basalam-api-service-manager.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-auto-connect-products.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-connect-product-service.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-create-product-service.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-date-converter.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-discount-manager.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-discount-task-model.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-discount-task-processor.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-discount-task-scheduler.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-fetch-commission.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-fetch-products-data.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-fetch-unsync-products.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-fetch-weekly-unsync-orders.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-file-uploader.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-get-basalam-orders.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-get-category-attr.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-get-category-id.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-get-woo-shipping-methods.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-like.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-order-manager.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-post-auto-confirm-order.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-system-resource-monitor.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-update-product-service.php (added)
-
tags/1.6.0/includes/services/class-sync-basalam-webhook-service.php (added)
-
tags/1.6.0/includes/services/discount (added)
-
tags/1.6.0/includes/services/discount/class-sync-basalam-discount-interface.php (added)
-
tags/1.6.0/includes/services/discount/class-sync-basalam-product-discount-handler.php (added)
-
tags/1.6.0/includes/services/discount/class-sync-basalam-simple-product-discount.php (added)
-
tags/1.6.0/includes/services/discount/class-sync-basalam-variable-product-discount.php (added)
-
tags/1.6.0/includes/services/orders (added)
-
tags/1.6.0/includes/services/orders/class-sync-basalam-cancel-order.php (added)
-
tags/1.6.0/includes/services/orders/class-sync-basalam-cancel-req-order.php (added)
-
tags/1.6.0/includes/services/orders/class-sync-basalam-confirm-order.php (added)
-
tags/1.6.0/includes/services/orders/class-sync-basalam-delay-req-order.php (added)
-
tags/1.6.0/includes/services/orders/class-sync-basalam-tracking-code-order.php (added)
-
tags/1.6.0/includes/services/routeHandler (added)
-
tags/1.6.0/includes/services/routeHandler/class-sync-basalam-route.php (added)
-
tags/1.6.0/includes/utilities (added)
-
tags/1.6.0/includes/utilities/class-sync-basalam-convert-fa-num.php (added)
-
tags/1.6.0/includes/utilities/class-sync-basalam-get-provinces-data.php (added)
-
tags/1.6.0/includes/utilities/class-sync-basalam-order-manager.php (added)
-
tags/1.6.0/includes/utilities/class-sync-basalam-text-converter.php (added)
-
tags/1.6.0/readme.txt (added)
-
tags/1.6.0/sync-basalam-jobs-runner.php (added)
-
tags/1.6.0/sync-basalam.php (added)
-
tags/1.6.0/templates (added)
-
tags/1.6.0/templates/admin (added)
-
tags/1.6.0/templates/admin/menu (added)
-
tags/1.6.0/templates/admin/menu/basalam-unsync-product-page.php (added)
-
tags/1.6.0/templates/admin/menu/category-mapping-page.php (added)
-
tags/1.6.0/templates/admin/menu/help-page.php (added)
-
tags/1.6.0/templates/admin/menu/info (added)
-
tags/1.6.0/templates/admin/menu/info-page.php (added)
-
tags/1.6.0/templates/admin/menu/info/info-connected.php (added)
-
tags/1.6.0/templates/admin/menu/info/info-not-auth.php (added)
-
tags/1.6.0/templates/admin/menu/info/info-not-vendor.php (added)
-
tags/1.6.0/templates/admin/menu/log-page.php (added)
-
tags/1.6.0/templates/admin/menu/main (added)
-
tags/1.6.0/templates/admin/menu/main-page.php (added)
-
tags/1.6.0/templates/admin/menu/main/main-connected.php (added)
-
tags/1.6.0/templates/admin/menu/main/main-get-token.php (added)
-
tags/1.6.0/templates/admin/menu/main/modal (added)
-
tags/1.6.0/templates/admin/menu/main/modal/add-product.php (added)
-
tags/1.6.0/templates/admin/menu/main/modal/auto-connect-product.php (added)
-
tags/1.6.0/templates/admin/menu/main/modal/update-product.php (added)
-
tags/1.6.0/templates/admin/menu/main/section (added)
-
tags/1.6.0/templates/admin/menu/main/section/order.php (added)
-
tags/1.6.0/templates/admin/menu/main/section/product.php (added)
-
tags/1.6.0/templates/admin/menu/main/section/setting.php (added)
-
tags/1.6.0/templates/admin/menu/main/section/status.php (added)
-
tags/1.6.0/templates/admin/onboarding (added)
-
tags/1.6.0/templates/admin/onboarding/step1.php (added)
-
tags/1.6.0/templates/admin/onboarding/step2.php (added)
-
tags/1.6.0/templates/admin/onboarding/step3.php (added)
-
tags/1.6.0/templates/admin/onboarding/template-onboarding-page.php (added)
-
tags/1.6.0/templates/admin/utilities (added)
-
tags/1.6.0/templates/admin/utilities/access-alert.php (added)
-
tags/1.6.0/templates/admin/utilities/connect-ajax-single-product-page.php (added)
-
tags/1.6.0/templates/admin/utilities/connect-button-single-product-page.php (added)
-
tags/1.6.0/templates/admin/utilities/connect-modal-single-product-page.php (added)
-
tags/1.6.0/templates/admin/utilities/like-alert.php (added)
-
tags/1.6.0/wp-bg-process.php (added)
-
trunk/CHANGELOG.md (modified) (1 diff)
-
trunk/includes/class-sync-basalam-plugin.php (modified) (2 diffs)
-
trunk/includes/logger/class-sync-basalam-woo-logger.php (modified) (1 diff)
-
trunk/includes/services/class-sync-basalam-date-converter.php (modified) (1 diff)
-
trunk/includes/services/class-sync-basalam-fetch-weekly-unsync-orders.php (modified) (2 diffs)
-
trunk/includes/services/class-sync-basalam-get-basalam-orders.php (modified) (2 diffs)
-
trunk/includes/services/class-sync-basalam-get-woo-shipping-methods.php (deleted)
-
trunk/includes/services/class-sync-basalam-order-manager.php (modified) (1 diff)
-
trunk/includes/services/class-sync-basalam-system-resource-monitor.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/sync-basalam.php (modified) (1 diff)
-
trunk/templates/admin/menu/main/section/setting.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
sync-basalam/trunk/CHANGELOG.md
r3406805 r3412783 1 1 # Changelog 2 3 <details> 4 <summary>1.6.1 - 2025-12-6</summary> 5 6 ### Changed / Improved 7 - Handle cursor for get order lists 8 9 ### Fixed 10 - don't send request to core.basalam.com 11 - add reduce/increase stock action for woosalam order statuses 12 13 </details> 14 2 15 <details> 3 16 <summary>1.6.0 - 2025-12-1</summary> -
sync-basalam/trunk/includes/class-sync-basalam-plugin.php
r3406805 r3412783 4 4 class SyncBasalamPlugin 5 5 { 6 const VERSION = '1.6. 0';6 const VERSION = '1.6.1'; 7 7 8 8 public function __construct() … … 182 182 add_filter('wc_order_statuses', [new SyncBasalamOrderStatuses(), 'orderStatuses']); 183 183 184 add_action('woocommerce_order_status_bslm-rejected', 'wc_maybe_increase_stock_levels'); 185 add_action('woocommerce_order_status_bslm-preparation', 'wc_maybe_reduce_stock_levels'); 186 add_action('woocommerce_order_status_bslm-shipping', 'wc_maybe_reduce_stock_levels'); 187 add_action('woocommerce_order_status_bslm-completed', 'wc_maybe_reduce_stock_levels'); 188 184 189 add_action('sync_basalam_process_discount_tasks', array($this, 'processDiscountTasksCron')); 185 190 -
sync-basalam/trunk/includes/logger/class-sync-basalam-woo-logger.php
r3397803 r3412783 28 28 $lines = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 29 29 foreach (array_reverse($lines) as $line) { 30 if (preg_match('/^(.*?) (INFO|WARNING|ERROR|DEBUG|ALERT) (.*?)( CONTEXT: (.*))?$/', $line, $matches)) { 30 // Match ISO 8601 date format more strictly: YYYY-MM-DDTHH:MM:SS+TZ 31 if (preg_match('/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}) (INFO|WARNING|ERROR|DEBUG|ALERT) (.*?)( CONTEXT: (.*))?$/', $line, $matches)) { 31 32 $tehranDatetime = SyncBasalamDateConverter::utcToTehran($matches[1]); 33 34 // Skip this log entry if date conversion failed 35 if ($tehranDatetime === null) { 36 continue; 37 } 38 32 39 $jalaliDate = SyncBasalamDateConverter::gregorianToJalali( 33 40 $tehranDatetime->format('Y'), -
sync-basalam/trunk/includes/services/class-sync-basalam-date-converter.php
r3397803 r3412783 7 7 public static function utcToTehran($utcDatetime) 8 8 { 9 $utcDate = new DateTime($utcDatetime, new DateTimeZone('UTC')); 10 $tehranDate = $utcDate->setTimezone(new DateTimeZone('Asia/Tehran')); 11 return $tehranDate; 9 try { 10 $utcDate = new DateTime($utcDatetime, new DateTimeZone('UTC')); 11 $tehranDate = $utcDate->setTimezone(new DateTimeZone('Asia/Tehran')); 12 return $tehranDate; 13 } catch (Exception $e) { 14 error_log('Invalid date format in utcToTehran: ' . $utcDatetime . ' - Error: ' . $e->getMessage()); 15 return null; 16 } 12 17 } 13 18 -
sync-basalam/trunk/includes/services/class-sync-basalam-fetch-weekly-unsync-orders.php
r3397803 r3412783 12 12 public function addUnsyncBasalamOrderToWoo() 13 13 { 14 $orders = $this->getSyncBasalamOrdersService->getWeeklySyncBasalamOrders();15 $orders = $orders['data'];16 17 14 global $wpdb; 18 15 $table_name_payments = $wpdb->prefix . 'sync_basalam_payments'; 19 if (!$orders['data'] && $orders['status_code'] = 200) { 16 17 $orders = $this->getSyncBasalamOrdersService->getWeeklySyncBasalamOrders(); 18 $orders = $orders; 19 20 if (!$orders) { 20 21 return [ 21 22 'success' => true, … … 25 26 } 26 27 $new_order = false; 27 foreach ($orders ['data']as $order) {28 foreach ($orders as $order) { 28 29 $invoice_id = $order['order']['id']; 29 30 -
sync-basalam/trunk/includes/services/class-sync-basalam-get-basalam-orders.php
r3397803 r3412783 1 1 <?php 2 2 if (! defined('ABSPATH')) exit; 3 3 4 class SyncBasalamGetSyncBasalamOrders 4 5 { … … 13 14 $this->apiservice = new SyncBasalamApiServiceManager(); 14 15 } 16 15 17 public function getWeeklySyncBasalamOrders() 16 18 { 17 19 $oneWeekAgoTimestamp = current_time('timestamp', true) - (7 * 24 * 60 * 60); 18 20 $oneWeekAgoIso = gmdate('c', $oneWeekAgoTimestamp); 21 19 22 $headers = [ 20 23 'Authorization' => 'Bearer ' . $this->token 21 24 ]; 22 25 23 $baseUrl = SyncBasalamAdminSettings::getStaticSettings("url_get_sync_basalam_orders"); 24 $url = $baseUrl . '?per_page=30' . '&created_at%5Bgte%5D=' . urlencode($oneWeekAgoIso); 26 $firstPageUrl = $this->url . '?per_page=30&created_at%5Bgte%5D=' . urlencode($oneWeekAgoIso); 25 27 26 $orders = $this->apiservice->sendGetRequest($url, $headers); 27 return $orders; 28 return $this->fetchAllPages($firstPageUrl, $headers); 29 } 30 31 private function fetchAllPages($url, $headers, $collected = []) 32 { 33 $response = $this->apiservice->sendGetRequest($url, $headers); 34 35 if (!isset($response['data'])) { 36 return $collected; 37 } 38 39 $collected = array_merge($collected, $response['data']['data']); 40 41 $next = $response['data']['next_cursor'] ?? null; 42 43 if ($next) { 44 $nextUrl = $url . '&cursor=' . urlencode($next); 45 return $this->fetchAllPages($nextUrl, $headers, $collected); 46 } 47 48 return $collected; 28 49 } 29 50 } -
sync-basalam/trunk/includes/services/class-sync-basalam-order-manager.php
r3406805 r3412783 255 255 $order_status = $status_map[$status_id] ?? 'bslm-wait-vendor'; 256 256 $order->set_status($order_status); 257 wc_reduce_stock_levels($order->get_id());258 257 } 259 258 -
sync-basalam/trunk/includes/services/class-sync-basalam-system-resource-monitor.php
r3397803 r3412783 171 171 } 172 172 173 private function getNetworkScore()174 {175 $startTime = microtime(true);176 $response = wp_remote_get('https://core.basalam.com/', [177 'timeout' => 5,178 'sslverify' => false179 ]);180 $responseTime = microtime(true) - $startTime;181 182 if (is_wp_error($response)) {183 return 50;184 }185 186 if ($responseTime < 0.1) {187 return 100;188 } elseif ($responseTime < 0.3) {189 return 80;190 } elseif ($responseTime < 0.7) {191 return 60;192 } elseif ($responseTime < 1.5) {193 return 40;194 } else {195 return 20;196 }197 }198 199 173 public function calculateOptimalTasksPerMinute() 200 174 { … … 204 178 'php_version' => $this->getPhpVersionScore(), 205 179 'server_load' => $this->getServerLoadScore(), 206 'network' => $this->getNetworkScore()207 180 ]; 208 181 … … 211 184 'execution_time' => 0.20, 212 185 'server_load' => 0.20, 213 'network' => 0.30,214 186 'php_version' => 0.05 215 187 ]; -
sync-basalam/trunk/readme.txt
r3406805 r3412783 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.4 7 Stable tag: 1.6. 07 Stable tag: 1.6.1 8 8 License: GPL-2.0-or-later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html -
sync-basalam/trunk/sync-basalam.php
r3406805 r3412783 5 5 * Plugin Name: sync basalam | ووسلام 6 6 * Description: با استفاده از پلاگین ووسلام میتوایند تمامی محصولات ووکامرس را با یک کلیک به غرفه باسلامی خود اضافه کنید، همچنین تمامی سفارش باسلامی شما به سایت شما اضافه میگردد. 7 * Version: 1.6. 07 * Version: 1.6.1 8 8 * Author: Woosalam Dev 9 9 * Author URI: https://wp.hamsalam.ir/ -
sync-basalam/trunk/templates/admin/menu/main/section/setting.php
r3406805 r3412783 186 186 </section> 187 187 </div> 188 189 <script> 190 (function() { 191 'use strict'; 192 193 const initialValues = new Map(); 194 195 function saveInitialValues(form) { 196 const elements = form.querySelectorAll('input, select, textarea'); 197 elements.forEach(function(element) { 198 const name = element.name; 199 if (!name || name === 'action' || name === '_wpnonce' || name === '_wp_http_referer') { 200 return; 201 } 202 203 let value; 204 if (element.type === 'checkbox' || element.type === 'radio') { 205 value = element.checked; 206 } else { 207 value = element.value; 208 } 209 210 const key = name + '_' + (element.type === 'radio' || element.type === 'checkbox' ? element.value : ''); 211 initialValues.set(key, value); 212 }); 213 } 214 215 function handleFormSubmit(event) { 216 const form = event.target; 217 const elements = form.querySelectorAll('input, select, textarea'); 218 219 elements.forEach(function(element) { 220 const name = element.name; 221 if (!name || name === 'action' || name === '_wpnonce' || name === '_wp_http_referer') { 222 return; 223 } 224 225 let currentValue; 226 if (element.type === 'checkbox' || element.type === 'radio') { 227 currentValue = element.checked; 228 } else { 229 currentValue = element.value; 230 } 231 232 const key = name + '_' + (element.type === 'radio' || element.type === 'checkbox' ? element.value : ''); 233 const initialValue = initialValues.get(key); 234 235 if (initialValue === currentValue) { 236 element.disabled = true; 237 } 238 }); 239 240 setTimeout(function() { 241 elements.forEach(function(element) { 242 element.disabled = false; 243 }); 244 }, 100); 245 } 246 247 document.addEventListener('DOMContentLoaded', function() { 248 const forms = document.querySelectorAll('form[action*="admin-post.php"]'); 249 250 forms.forEach(function(form) { 251 const actionInput = form.querySelector('input[name="action"][value="basalam_update_setting"]'); 252 if (actionInput) { 253 saveInitialValues(form); 254 255 form.addEventListener('submit', handleFormSubmit); 256 } 257 }); 258 }); 259 })(); 260 </script>
Note: See TracChangeset
for help on using the changeset viewer.