コード例 #1
0
ファイル: Zugang.php プロジェクト: sawh/ostepu-system
 /**
  * ???
  *
  * @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();
     }
 }