CreateFile::configure()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 12
rs 9.4285
cc 1
eloc 8
nc 1
nop 0
1
<?php
2
/**
3
 * @author     Chris Hilsdon <[email protected]>
4
 * @package    ComodoDecodeCSR
5
 * @copyright  2016 Xigen
6
 * @license    GNU General Public License v3
7
 * @link       https://github.com/XigenChris/ComodoDecodeCSR
8
 */
9
10
namespace Xigen\Console;
11
12
use Symfony\Component\Console\Input\InputInterface;
13
use Symfony\Component\Console\Input\InputArgument;
14
use Symfony\Component\Console\Output\OutputInterface;
15
use Xigen\ComodoDecodeCSR;
16
use Xigen\Exception;
17
18
class CreateFile extends BaseCommand
19
{
20
    protected function configure()
21
    {
22
        $this
23
            ->setName("createfile")
24
            ->setDescription("Creates the file needed for DVC")
25
            ->addArgument(
26
                'csr',
27
                InputArgument::REQUIRED,
28
                'Location of csr file'
29
            )
30
        ;
31
    }
32
33
    protected function execute(InputInterface $input, OutputInterface $output)
34
    {
35
        $comodoDecodeCSR = new ComodoDecodeCSR();
36
37
        try {
38
            $comodoDecodeCSR->setCSR($this->loadCSR($input, $output));
39
        } catch (Exception $e) {
40
            $output->writeln('<error>Error!</error>');
41
            $output->writeln('Invalid CSR');
42
43
            return 3;
44
        }
45
46
        $hashes = $comodoDecodeCSR->fetchHashes();
47
48
        if (!$hashes) {
49
            $output->writeln('<error>Fail!</error>');
50
            $output->writeln('Unable to fetch hashes');
51
52
            return 2;
53
        }
54
55
        $output->writeln('<info>Filename:</info> ' . $hashes['md5'] . '.txt');
56
        $output->writeln('<info>Contents:</info>');
57
        $output->writeln($comodoDecodeCSR->generateDVC());
58
        $output->writeln('<info>URL:</info> http://' . $comodoDecodeCSR->getCN() . '/' . $hashes['md5'] . '.txt');
59
60
        return 0;
61
    }
62
}
63