diff --git a/module/VuFind/src/VuFind/Sitemap/Generator.php b/module/VuFind/src/VuFind/Sitemap/Generator.php index c891288689075b18b417133c41129d3f0472ee81..11f2de57039a1e1f7bba6d736caea19c4faf5eef 100644 --- a/module/VuFind/src/VuFind/Sitemap/Generator.php +++ b/module/VuFind/src/VuFind/Sitemap/Generator.php @@ -31,6 +31,7 @@ use VuFind\Search\BackendManager; use VuFindSearch\Backend\Solr\Backend; use VuFindSearch\ParamBag; use Zend\Config\Config; +use Zend\Console\Console; /** * Class for generating sitemaps @@ -106,6 +107,13 @@ class Generator */ protected $warnings = []; + /** + * Verbose mode + * + * @var bool + */ + protected $verbose = false; + /** * Mode of retrieving IDs from the index (may be 'terms' or 'search') * @@ -152,6 +160,21 @@ class Generator } } + /** + * Get/set verbose mode + * + * @param bool $newMode New verbose mode + * + * @return bool Current or new verbose mode + */ + public function setVerbose($newMode = null) + { + if (null !== $newMode) { + $this->verbose = $newMode; + } + return $this->verbose; + } + /** * Generate the sitemaps based on settings established by the constructor. * @@ -225,6 +248,9 @@ class Generator // Update counters: $count += $this->countPerPage; + if ($this->verbose) { + Console::writeLine("Page $currentPage processed"); + } $currentPage++; } return $currentPage; diff --git a/module/VuFindConsole/config/module.config.php b/module/VuFindConsole/config/module.config.php index 8289573f769a73ae58b772e816f306f99289fa60..584db8061e98068dd35211cf7f53e69b2a720159 100644 --- a/module/VuFindConsole/config/module.config.php +++ b/module/VuFindConsole/config/module.config.php @@ -78,7 +78,7 @@ $routes = [ 'util/expire_sessions' => 'util expire_sessions [--help|-h] [--batch=] [--sleep=] [<daysOld>]', 'util/index_reserves' => 'util index_reserves [--help|-h] [-d=s] [-t=s] [-f=s]', 'util/optimize' => 'util optimize [<core>]', - 'util/sitemap' => 'util sitemap', + 'util/sitemap' => 'util sitemap [--verbose]', 'util/suppressed' => 'util suppressed [--help|-h] [--authorities] [--outfile=s]', 'util/switch_db_hash' => 'util switch_db_hash [<newhash>] [<newkey>]', ]; diff --git a/module/VuFindConsole/src/VuFindConsole/Controller/UtilController.php b/module/VuFindConsole/src/VuFindConsole/Controller/UtilController.php index 956bb1d0c5e487cf1a0cfd25a6e470c93b4a413c..9f0cfe20846d368d8147b36c90baf33776b49e02 100644 --- a/module/VuFindConsole/src/VuFindConsole/Controller/UtilController.php +++ b/module/VuFindConsole/src/VuFindConsole/Controller/UtilController.php @@ -283,6 +283,8 @@ class UtilController extends AbstractBase $this->serviceLocator->get('VuFind\Search\BackendManager'), $configLoader->get('config')->Site->url, $configLoader->get('sitemap') ); + $request = $this->getRequest(); + $generator->setVerbose($request->getParam('verbose', false)); $generator->generate(); foreach ($generator->getWarnings() as $warning) { Console::writeLine("$warning");