# sync-basalam/1.8.6/includes/Actions/Controller/OrderActions/FetchUnsyncOrders.php

ووسلام – همگام سازی ووکامرس و باسلام, version 1.8.6. 47 lines.

- Page: https://pluginprobe.com/plugins/sync-basalam/1.8.6/code/includes/Actions/Controller/OrderActions/FetchUnsyncOrders.php
- Raw: https://pluginprobe.com/plugins/sync-basalam/1.8.6/raw/includes/Actions/Controller/OrderActions/FetchUnsyncOrders.php
- Modified: 2026-05-10T15:06:26+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/sync-basalam/1.8.6/code/includes/Actions/Controller/OrderActions/FetchUnsyncOrders.php#L10-L20`.

```php
<?php

namespace SyncBasalam\Actions\Controller\OrderActions;

use SyncBasalam\Actions\Controller\ActionController;
use SyncBasalam\JobManager;

defined('ABSPATH') || exit;

class FetchUnsyncOrders extends ActionController
{
    public function __invoke()
    {
        $jobManager = syncBasalamContainer()->get(JobManager::class);

        $hasRunningJob = $jobManager->getCountJobs([
            'job_type' => 'sync_basalam_fetch_orders',
            'status' => ['pending', 'processing']
        ]) > 0;

        if ($hasRunningJob) {
            wp_send_json_error([
                'message' => 'یک فرآیند دریافت سفارشات در حال اجرا است. لطفاً صبر کنید.'
            ], 400);
            return;
        }

        $day = isset($_POST['days']) ? intval($_POST['days']) : 7;

        if ($day < 1 || $day > 30) $day = 7;

        $jobManager->createJob(
            'sync_basalam_fetch_orders',
            'pending',
            json_encode([
                'cursor' => null,
                'day' => $day
            ])
        );

        wp_send_json_success([
            'message' => "فرآیند دریافت سفارشات {$day} روز اخیر شروع شد.",
            'day' => $day
        ]);
    }
}

```
