source: spip-zone/_plugins_/indexer/trunk/spip-cli/IndexerIndexer.php @ 92400

Last change on this file since 92400 was 92400, checked in by rastapopoulos@…, 4 years ago

On ajoute une commande spip-cli pour lancer l'indexation complète. Attention : pour l'instant c'est vraiment juste à l'arrache en appelant la classe faite par Marcimat qui est conçue uniquement pour la lancer en mode web HTML. Donc il faudrait le refaire en mieux, avec une barre de progression spip-cli, etc. Mais bon déjà ça permet de le lancer en shell et ça indexe bien tout…

File size: 1.4 KB
Line 
1<?php
2
3use Symfony\Component\Console\Command\Command;
4use Symfony\Component\Console\Input\InputArgument;
5use Symfony\Component\Console\Input\InputInterface;
6use Symfony\Component\Console\Input\InputOption;
7use Symfony\Component\Console\Output\OutputInterface;
8use Symfony\Component\Console\Helper\ProgressHelper;
9
10class IndexerIndexer extends Command {
11        protected function configure() {
12                $this
13                        ->setName('indexer:indexer')
14                        ->setDescription('Lancer l’indexation des contenus SPIP configurés.')
15                ;
16        }
17
18        protected function execute(InputInterface $input, OutputInterface $output) {
19                include_spip('inc/indexer');
20                global $spip_racine;
21                global $spip_loaded;
22               
23                // Appeler la fonction qui donne l'indexeur configuré pour ce SPIP
24                $indexer = indexer_indexer();
25                // Appeler la fonction qui liste les sources et qui comporte un pipeline pour étendre
26                $sources = indexer_sources();
27               
28                $SpipSourcesIndexer = new Spip\Indexer\Sources\SpipSourcesIndexer($indexer, $sources);
29                $SpipSourcesIndexer->resetIndexesStats();
30               
31                $res = $SpipSourcesIndexer->indexAll();
32               
33                //~ $progress = $this->getHelperSet()->get('progress');
34                //~ $progress->setFormat(ProgressHelper::FORMAT_VERBOSE);
35                //~ $progress->setBarWidth(100);
36                //~ $progress->setRedrawFrequency(100);
37                //~ $progress->start($output, count($produits));
38                //~
39                //~ $progress->advance();
40                //~ $output->writeln("\n<info>{$message}</info>");
41        }
42}
Note: See TracBrowser for help on using the repository browser.