/** * ??? * * @param ??? * @param string $func Der Bezeichner der aufzurufenden Funktion * @param string[][] $data Die Serverdaten * @param bool $fail true = Fehler, false = sonst * @param int $errno Die Fehlernummer * @param string $error Der Fehlertext * @return ??? */ public static function Ermitteln($action, $func, $data, &$fail, &$errno, &$error) { if (!isset($data['ZV']['zv_type']) || $data['ZV']['zv_type'] == 'local' || $data['ZV']['zv_type'] == '') { if (is_callable($func)) { $temp = explode('::', $func); $answer = $temp[0]::$temp[1]($data, $fail, $errno, $error); return $answer; } else { $error = "Funktion {$func} kann nicht aufgerufen werden!"; return array(); } } elseif ($data['ZV']['zv_type'] == 'ssh') { $ssh = Zugang::Verbinden($data); $result = $ssh->exec('php -f install/install.php -- ' . $action); $result = json_decode($result, true); $ssh->disconnect(); if (!isset($result[$action])) { return array(); } $result = $result[$action]; if (isset($result['fail'])) { $fail = $result['fail']; } unset($result['fail']); if (isset($result['errno'])) { $errno = $result['errno']; } unset($result['errno']); if (isset($result['error'])) { $error = $result['error']; } unset($result['error']); return $result; } else { return array(); } }