Kelunik\AcmeClient\Commands\Status::doExecute PHP Method

doExecute() private method

private doExecute ( League\CLImate\Argument\Manager $args ) : Generator
$args League\CLImate\Argument\Manager
return Generator
    private function doExecute(Manager $args)
    {
        $server = \Kelunik\AcmeClient\resolveServer($args->get("server"));
        $keyName = \Kelunik\AcmeClient\serverToKeyname($server);
        $storage = \Kelunik\AcmeClient\normalizePath($args->get("storage"));
        try {
            $keyStore = new KeyStore($storage);
            (yield $keyStore->get("accounts/{$keyName}.pem"));
            $setup = true;
        } catch (KeyStoreException $e) {
            $setup = false;
        }
        $this->climate->br();
        $this->climate->out("  [" . ($setup ? "<green> ✓ </green>" : "<red> ✗ </red>") . "] " . ($setup ? "Registered on " : "Not yet registered on ") . $server);
        $this->climate->br();
        if ((yield \Amp\File\exists($storage . "/certs/{$keyName}"))) {
            $certificateStore = new CertificateStore($storage . "/certs/{$keyName}");
            $domains = (yield \Amp\File\scandir($storage . "/certs/{$keyName}"));
            foreach ($domains as $domain) {
                $pem = (yield $certificateStore->get($domain));
                $cert = new Certificate($pem);
                $symbol = time() > $cert->getValidTo() ? "<red> ✗ </red>" : "<green> ✓ </green>";
                if (time() < $cert->getValidTo() && time() + $args->get("ttl") * 24 * 60 * 60 > $cert->getValidTo()) {
                    $symbol = "<yellow> ⭮ </yellow>";
                }
                $this->climate->out("  [" . $symbol . "] " . implode(", ", $cert->getNames()));
            }
            $this->climate->br();
        }
    }