public function serverCmd($server, $cmd, &$data = null, $broadcast = false, $nocache = false) { $command = $cmd; $r = array(); if (($cache = CommandCache::get($server, $command, $r)) === 1) { if (@$r['success']) { $data = @$r['data']; return true; } $this->addError(@$r['error']); return false; } $cmd = 'server ' . $server . ':' . $cmd; $ret = array(); if ($broadcast) { $ret = $this->globalCmd($cmd); } else { $ret = array($this->cmd(Server::getDaemon($server), $cmd)); } $e = ''; foreach ($ret as $r) { if ($cache !== 0) { CommandCache::set($server, $command, $r); } if ($r['success']) { $data = $r['data']; return true; } $e = $r['error']; } $this->addError($e); return false; }