get_error_message()); ?>

NamePathAction

syncAll(false); echo '

' . esc_html__('Synchronization finished.', 'kb-markdown-importer') . '

'; } if (isset($_POST['kb_markdown_dry_run']) && check_admin_referer('kb_markdown_sync')) { (new ImportManager())->syncAll(true); echo '

' . esc_html__('Dry run finished.', 'kb-markdown-importer') . '

'; } if (isset($_POST['kb_markdown_sync_project']) && check_admin_referer('kb_markdown_sync_project')) { $projectId = sanitize_text_field(wp_unslash((string) ($_POST['project_id'] ?? ''))); (new ImportManager())->syncProject($projectId, false); echo '

' . esc_html__('Project synchronization finished.', 'kb-markdown-importer') . '

'; } } private static function loadProjects(): array|\WP_Error { $settings = Plugin::settings(); if (! $settings['gitlab_base_url'] || ! $settings['gitlab_token'] || ! $settings['gitlab_group']) { return []; } $client = new GitLabClient($settings); $group = $client->getGroup($settings['gitlab_group']); if (is_wp_error($group)) { return $group; } return $client->getProjects((string) ($group['id'] ?? $settings['gitlab_group'])); } }