Changeset 110823 in spip-zone


Ignore:
Timestamp:
Jun 23, 2018, 7:12:00 PM (3 years ago)
Author:
marcimat@…
Message:

On se crée une classe abstraite pour les commandes,
que peuvent utiliser nos commandes à la place de la commande de base Synfony.

Cette classe rend accessible :

  • "$this->io" (SpipCliStyle?) (et getIO() qui le retourne)
  • demarrerSpip() (qui charge SPIP (bon en vrai SpipCli? le démarre automatiquement avant…) et chdir dessus par défaut)
  • getService() (raccourcis de getApplication()->getService()
Location:
_outils_/spip-cli/trunk/src
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • _outils_/spip-cli/trunk/src/Command/AuteursSuperadmin.php

    r110822 r110823  
    44
    55use Spip\Cli\Application;
    6 use Spip\Cli\Console\Style\SpipCliStyle;
     6use Spip\Cli\Console\Command;
    77use Spip\Cli\Loader\Spip;
    8 use Symfony\Component\Console\Command\Command;
    98use Symfony\Component\Console\Input\InputInterface;
    109use Symfony\Component\Console\Input\InputOption;
     
    1514{
    1615
    17         /** @var SpipCliStyle */
    18         protected $io;
    1916        /** @var Application */
    2017        protected $app;
     
    3027
    3128        protected function execute(InputInterface $input, OutputInterface $output) {
    32                 $this->app = $this->getApplication();
    33                 $this->io = $this->app->getIO($input, $output);
    34 
    3529                /** @var Spip $spip */
    36                 $spip = $this->app->getService('loader.spip');
    37                 $spip->load();
    38                 $spip->chdir();
     30                $this->demarrerSpip();
    3931
    4032                if ($input->getOption('delete')) {
     
    6456                }
    6557
    66                 $email = $this->app->getService('spip.webmestre.email');
    67                 $login = $this->app->getService('spip.webmestre.login');
    68                 $nom = $this->app->getService('spip.webmestre.nom');
    69                 $prefix = $this->app->getService('spip.webmestre.login.prefixe');
     58                $email = $this->getService('spip.webmestre.email');
     59                $login = $this->getService('spip.webmestre.login');
     60                $nom = $this->getService('spip.webmestre.nom');
     61                $prefix = $this->getService('spip.webmestre.login.prefixe');
    7062                $password = bin2hex(random_bytes(16));
    7163                if (!$login) {
  • _outils_/spip-cli/trunk/src/Loader/Sql.php

    r110822 r110823  
    154154                return $sqlite;
    155155        }
    156 
    157         public function getMeta($meta) {
    158                 if (!is_string($meta) or !$meta) {
    159                         throw new \Exception("A string meta name is needed. Given : " . gettype($meta));
    160                 }
    161                 /** @var \PDO $pdo */
    162                 $pdo = $this->getPdo();
    163                 $query = $pdo->prepare('SELECT valeur FROM spip_meta WHERE nom=:nom');
    164                 $query->bindValue(':nom', $meta, \PDO::PARAM_STR);
    165                 $query->execute();
    166                 $meta = $query->fetchColumn();
    167                 return $meta;
    168         }
    169156}
Note: See TracChangeset for help on using the changeset viewer.