Changeset 112950 in spip-zone


Ignore:
Timestamp:
Dec 19, 2018, 3:04:38 PM (3 months ago)
Author:
cedric@…
Message:

Un spipcli oembed:recupererdata --url=xxxx pour voir les données récupérées et tester en cli

Location:
_plugins_/oembed/spip-cli
Files:
1 added
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/oembed/spip-cli/OembedRecupererData.php

    r112780 r112950  
    88use Symfony\Component\Console\Helper\ProgressHelper;
    99
    10 class MailsubscriberSubscribe extends Command {
     10
     11class OembedRecupererData extends Command {
    1112        protected function configure() {
    1213                $this
    13                         ->setName('mailsubscriber:subscribe')
    14                         ->setDescription('Inscrire un email a des listes de diffusion')
     14                        ->setName('oembed:recupererdata')
     15                        ->setDescription('Recuperer les donnees oembed d\'une URL')
    1516                        ->addOption(
    16                                 'email',
     17                                'url',
    1718                                null,
    1819                                InputOption::VALUE_REQUIRED,
    19                                 'email a inscrire',
     20                                'URL de la ressource',
    2021                                null
    2122                        )
    2223                        ->addOption(
    23                                 'nom',
     24                                'maxwidth',
    2425                                null,
    2526                                InputOption::VALUE_OPTIONAL,
    26                                 'Nom de la personne inscrite',
     27                                'Largeur maxi',
    2728                                ''
    2829                        )
    2930                        ->addOption(
    30                                 'listes',
     31                                'maxheight',
    3132                                null,
    3233                                InputOption::VALUE_OPTIONAL,
    33                                 'Listes (separées par des virgules si plusieurs)',
     34                                'Hauteur maxi',
    3435                                null
    3536                        )
    3637                        ->addOption(
    37                                 'lang',
     38                                'format',
    3839                                null,
    3940                                InputOption::VALUE_OPTIONAL,
    40                                 'Lang de l\'inscrit',
     41                                'Format des données',
     42                                'json'
     43                        )
     44                        ->addOption(
     45                                'detect',
     46                                null,
     47                                InputOption::VALUE_OPTIONAL,
     48                                'Detecter automatiquement le provider oembed si il n\'est pas connu',
    4149                                null
    4250                        )
     
    4553                                null,
    4654                                InputOption::VALUE_OPTIONAL,
    47                                 'permet de forcer une inscription sans doubleoptin',
     55                                'forcer une nouvelle récupération des données depuis le serveur source (ignorer le cache)',
    4856                                null
    49                         )
    50                         ->addOption(
    51                                 'graceful',
    52                                 null,
    53                                 InputOption::VALUE_OPTIONAL,
    54                                 'permet de ne pas reinscrire quelqu\'un qui s\'est desabonne',
    55                                 true
    56                         )
    57                         ->addOption(
    58                                 'notify',
    59                                 null,
    60                                 InputOption::VALUE_OPTIONAL,
    61                                 'indique si on veut ou non notifier par email',
    62                                 true
    6357                        )
    6458                ;
     
    6761        protected function execute(InputInterface $input, OutputInterface $output) {
    6862
    69                 include_spip('inc/filtres');
     63                include_spip('inc/oembed');
    7064
    71                 global $spip_racine;
    72                 global $spip_loaded;
     65                #global $spip_racine;
     66                #global $spip_loaded;
    7367
    74                 $email = $input->getOption('email');
    75                 if (!$email) {
    76                         $output->writeln("<error>Indiquez un email</error>");
    77                         exit(1);
    78                 }
    79                 if (!$email = email_valide($email)) {
    80                         $output->writeln("<error>Indiquez un email valide</error>");
     68                $url = $input->getOption('url');
     69                if (!$url) {
     70                        $output->writeln("<error>Indiquez une URL</error>");
    8171                        exit(1);
    8272                }
    8373
    84                 $options = array();
    85                 foreach (array('nom', 'lang', 'force', 'graceful', 'notify') as $o) {
    86                         if (!is_null($value= $input->getOption($o))) {
    87                                 $options[$o] = $value;
    88                         }
    89                 }
     74                $maxwidth = $input->getOption('maxwidth');
     75                $maxheight = $input->getOption('maxheight');
     76                $format = $input->getOption('format');
     77                $detect = $input->getOption('detect');
     78                $force = $input->getOption('force');
    9079
    91                 $listes = $input->getOption('listes');
    92                 if (!is_null($listes)) {
    93                         $options['listes'] = explode(',', $listes);
    94                 }
     80                $data = oembed_recuperer_data($url, $maxwidth, $maxheight, $format, $detect ? 'oui': 'non', $force);
    9581
    96                 $subscribe = charger_fonction('subscribe', 'newsletter');
    97                 $subscribe($email, $options);
    98 
    99                 $subscriber = charger_fonction('subscriber', 'newsletter');
    100                 $infos = $subscriber($email);
    101 
    102                 $output->writeln(var_export($infos, true));
     82                $output->writeln(var_export($data, true));
    10383        }
    10484}
Note: See TracChangeset for help on using the changeset viewer.