|
|
- <?php
-
- namespace App\Commands;
-
- use Illuminate\Console\Scheduling\Schedule;
- use LaravelZero\Framework\Commands\Command;
-
- /**
- * Add LetsEncrypt Certificate
- *
- *
- * @author Björn Hase, Tentakelfabrik
- * @license http://opensource.org/licenses/MIT The MIT License
- * @link https://gitea.tentakelfabrik.de/Tentakelfabrik/mcp
- *
- */
- class LetsEncryptAddCommand extends Command
- {
- /**
- * The signature of the command.
- *
- * @var string
- */
- protected $signature = 'lets-encrypt:add {email} {domain*} ';
-
- /**
- * The description of the command.
- *
- * @var string
- */
- protected $description = 'Add Certificates from LetsEncrypt';
-
- /**
- * Execute the console command.
- *
- * @return mixed
- *
- */
- public function handle()
- {
- $domains = $this->argument('domain');
-
- $domainFlags = '';
-
- foreach($domains as $domain) {
- $domainFlags .= '-d '.$domain.' ';
- }
-
- exec('certbot --non-interactive --agree-tos -m '.$this->argument('email').' --nginx '.$domainFlags, $output);
- $this->line(implode("\n", $output));
-
- foreach($output as $line) {
- //Congratulations!
- //check for string
- }
- }
- }
|