blob: 3927992f425228efafab205048d7117e1f87a969 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 | <?php
namespace PHPIAC\Modules;
use PHPIAC\Connection;
use PHPIAC\Module\Module;
use PHPIAC\Modules\Support\HasPermissions;
class GitModule extends Module
{
    use HasPermissions;
    protected string $repo;
    protected string $dest;
    /**
     * @inheritDoc
     */
    public function checkState(): bool
    {
        Connection::enablePty();
        Connection::exec("ls $this->dest");
        $ls = Connection::read();
        $state = ! str_contains($ls, 'No such file or directory');
        Connection::disablePty();
        return $state;
    }
    /**
     * @inheritDoc
     */
    public function getCommands(): array
    {
        Connection::exec(
            "sudo git clone $this->repo $this->dest" . PHP_EOL .
            $this->getPermissions($this->dest)
        );
        return [];
    }
}
 |