Skip to content

Commit c7252fc

Browse files
Merge pull request #241 from eliashaeussler/fix/sub-command-input
[BUGFIX] Pass scalar values to sub-command
2 parents f54e9b2 + f6a8760 commit c7252fc

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

Classes/Command/WarmupCommand.php

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@
2828
use EliasHaeussler\Typo3Warming\Exception\UnsupportedConfigurationException;
2929
use EliasHaeussler\Typo3Warming\Exception\UnsupportedSiteException;
3030
use EliasHaeussler\Typo3Warming\Service\CacheWarmupService;
31-
use EliasHaeussler\Typo3Warming\Sitemap\SiteAwareSitemap;
3231
use EliasHaeussler\Typo3Warming\Sitemap\SitemapLocator;
33-
use Psr\Http\Message\UriInterface;
3432
use Symfony\Component\Console\Application;
3533
use Symfony\Component\Console\Command\Command;
3634
use Symfony\Component\Console\Input\ArrayInput;
@@ -209,8 +207,8 @@ private function initializeSubCommandInput(CacheWarmupCommand $subCommand, Input
209207
// Resolve input options
210208
$languages = $this->resolveLanguages($input->getOption('languages'));
211209
$urls = array_unique($this->resolveUrls($input->getOption('pages'), $languages));
212-
$sitemaps = array_unique($this->resolveSitemaps($input->getOption('sites'), $languages), SORT_REGULAR);
213-
$limit = abs((int)$input->getOption('limit'));
210+
$sitemaps = array_unique($this->resolveSitemaps($input->getOption('sites'), $languages));
211+
$limit = max(0, (int)$input->getOption('limit'));
214212

215213
// Fetch crawler and crawler options
216214
$crawler = $this->configuration->getVerboseCrawler();
@@ -245,7 +243,7 @@ private function initializeSubCommandInput(CacheWarmupCommand $subCommand, Input
245243
/**
246244
* @param list<string|int> $pages
247245
* @param list<int> $languages
248-
* @return list<UriInterface>
246+
* @return list<string>
249247
* @throws SiteNotFoundException
250248
*/
251249
private function resolveUrls(array $pages, array $languages): array
@@ -260,7 +258,7 @@ private function resolveUrls(array $pages, array $languages): array
260258
$languageIds = array_keys($site->getLanguages());
261259
}
262260
foreach ($languageIds as $languageId) {
263-
$resolvedUrls[] = $this->warmupService->generateUri($page, $languageId);
261+
$resolvedUrls[] = (string)$this->warmupService->generateUri($page, $languageId);
264262
}
265263
}
266264
}
@@ -271,7 +269,7 @@ private function resolveUrls(array $pages, array $languages): array
271269
/**
272270
* @param list<string|int> $sites
273271
* @param list<int> $languages
274-
* @return list<SiteAwareSitemap>
272+
* @return list<string>
275273
* @throws SiteNotFoundException
276274
* @throws UnsupportedConfigurationException
277275
* @throws UnsupportedSiteException
@@ -292,7 +290,10 @@ private function resolveSitemaps(array $sites, array $languages): array
292290
$languageIds = array_keys($site->getLanguages());
293291
}
294292
foreach ($languageIds as $languageId) {
295-
$resolvedSitemaps[] = $this->sitemapLocator->locateBySite($site, $site->getLanguageById($languageId));
293+
$resolvedSitemaps[] = (string)$this->sitemapLocator->locateBySite(
294+
$site,
295+
$site->getLanguageById($languageId)
296+
)->getUri();
296297
}
297298
}
298299
}

0 commit comments

Comments
 (0)