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']));
}
}