devilbox/.devilbox/www/include/lib/container/Php.php
2018-12-20 20:05:29 +01:00

126 lines
3.6 KiB
PHP

<?php
namespace devilbox;
class Php extends BaseClass implements BaseInterface
{
/*********************************************************************************
*
* PHP Select functions
*
*********************************************************************************/
public function getConfig($key = null)
{
// Get all configs as array
if ($key === null) {
return ini_get_all();
} else {
return ini_get($key);
}
}
public function getUid()
{
$output = loadClass('Helper')->exec('id', $output);
$uid = loadClass('Helper')->egrep('/uid=[0-9]+/', $output);
$uid = loadClass('Helper')->egrep('/[0-9]+/', $uid);
return $uid;
}
public function getGid()
{
$output = loadClass('Helper')->exec('id', $output);
$uid = loadClass('Helper')->egrep('/gid=[0-9]+/', $output);
$uid = loadClass('Helper')->egrep('/[0-9]+/', $uid);
return $uid;
}
public function getGitVersion()
{
$output = loadClass('Helper')->exec('git --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getComposerVersion()
{
$output = loadClass('Helper')->exec('composer --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getDrushVersion($version)
{
$output = loadClass('Helper')->exec('drush'.$version.' --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getDrupalConsoleVersion()
{
$output = loadClass('Helper')->exec('drupal --version 2>/dev/null | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"', $output);
return loadClass('Helper')->egrep('/[0-9.]+[-rc0-9.]*/', $output);
}
public function getNodeVersion()
{
$output = loadClass('Helper')->exec('node --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getNpmVersion()
{
$output = loadClass('Helper')->exec('npm --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getLaravelVersion()
{
$output = loadClass('Helper')->exec('laravel --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getMdsVersion()
{
$output = loadClass('Helper')->exec('mysqldump-secure --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getPhalconVersion()
{
$output = loadClass('Helper')->exec('phalcon --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getSymfonyVersion()
{
$output = loadClass('Helper')->exec('symfony --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getWpcliVersion()
{
$output = loadClass('Helper')->exec('wp --version 2>/dev/null', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
/*********************************************************************************
*
* Interface required functions
*
*********************************************************************************/
public function canConnect(&$err, $hostname, $data = array())
{
// PHP can always connect, otherwise you could not see anything.
$err = false;
return true;
}
public function getName($default = 'PHP')
{
if (defined('HHVM_VERSION')) {
return 'HHVM';
}
return $default;
}
public function getVersion()
{
if (defined('HHVM_VERSION')) {
return HHVM_VERSION . ' php-'.str_replace('-hhvm', '', phpversion());
} else {
return phpversion();
}
}
}