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(); } } }