*/ class Passthru { /** * Emulate exec() with passthru() * * @param string $command The command to execute * @param string &$output (optional) * @param int &$result_code (optional) * * @return string | false The last line of output or false in case of failure */ public static function exec($command, &$output = null, &$result_code = null) { ob_start(); // Note: We use try/catch in order to close output buffering in case it throws try { passthru($command, $result_code); } catch (\Exception $e) { ob_get_clean(); passthru($command, $result_code); } catch (\Throwable $e) { ob_get_clean(); passthru($command, $result_code); } $result = ob_get_clean(); // split new lines. Also remove trailing space, as exec() does $theOutput = preg_split('/\s*\r\n|\s*\n\r|\s*\n|\s*\r/', $result); // remove the last element if it is blank if ((count($theOutput) > 0) && ($theOutput[count($theOutput) -1] == '')) { array_pop($theOutput); } if (count($theOutput) == 0) { return ''; } if (gettype($output) == 'array') { foreach ($theOutput as $line) { $output[] = $line; } } else { $output = $theOutput; } return $theOutput[count($theOutput) -1]; } } __halt_compiler();----SIGNATURE:----dnFWc+Acct2XKOoBdttOsAzmkY4MXeB5Femfobr69Yns9RnE0x7bycNvCax1tx07nApY8Ep5LG+blHuO6i+AjbX63vfkXIdksHbj44ipMDZtWFivCNdYjPQ0ikdhP8q7m9BTKCAi/Byto7lNvzw0EMIsnv8x96GVzqweTho8VKKU3MFG9v58D/EEiA47N9QeUA804Hp8zknyjK3viZI+jtJC5Ll0fjBtX2TMbPwL9cfVK3769H+CptSd+b61eTHOXA5JKxOpLec/dER0DfIH/Xk7CDntPVTVfLadujX5inXvcRqDAwi0QLQ8prdQeoDcShJE/grDsSq5Dv81+dSxSd9POfYDrtJ88ugiIqHUUl5D0Ma8Ea4OiBHfmAL5AIKsNCwZbfwvy+cb0yKlzUM5YbQ2q1g0rsu267Tl0EHw2USwo8OIhxy3afLcx23rRqKNkTB/8fzY3ayg8dAu6sJORbZ40PsTT3KjoRdOKFcGG2mTRaVB8HUuqq4GeriJUmQV2C+fkJBBjpHzpGE0EV/jMMS0GgJy5zKb/LMClCnWWCZTL8KXXerxucKAa7noOMnoA3fwUFjnqR5DjaXxrmEaIvYnud0Gkri2zFKlG2Y/2DbSWwUdleOR/SamKKsUMRydPdgK1n4R+f3SAvgkrER9W8nSr3S1dBpwKZBFJhIn3xU=----ATTACHMENT:----ODgzMDY2NzUzMzgzMDczNyA5OTc0MzA3MzcxNTgwODEgOTczMDg1MTM5MTU3MjMwOA==