|
|
- <?php
-
- namespace App\Helpers;
-
- /**
- * Helper for install
- *
- * @author Björn Hase, Tentakelfabrik
- * @license http://opensource.org/licenses/MIT The MIT License
- * @link https://gitea.tentakelfabrik.de/Tentakelfabrik/mcp
- *
- */
- class InstallHelper
- {
- // message for status
- const PACKAGE_STATUS = 'Status: install ok installed';
-
- // not allowed message
- const NOT_ALLOWED = [
- 'WARNING: apt does not have a stable CLI interface. Use with caution in scripts.'
- ];
-
- /**
- * check if a packege is installed
- *
- * @param string $name
- * @return boolean
- */
- public function isReady($name)
- {
- $result = false;
-
- exec('echo $(dpkg -s nginx 2>&1 | grep "'.self::PACKAGE_STATUS.'")', $output);
-
- if (isset($output[0]) && $output[0] === self::PACKAGE_STATUS) {
- $result = true;
- }
-
- return $result;
- }
-
- /**
- * apt add a Warning for no good,
- *
- *
- * @return array
- */
- public function filterAptMessages($output)
- {
- $results = [];
-
- foreach($output as $message) {
- if (!in_array($message, self::NOT_ALLOWED) && !empty($message)) {
- $results[] = $message;
- }
- }
-
- return $results;
- }
- }
|