method info documentation in bbn\Api\Virtualmin

Gets server info

function(array $arguments = []) { $infoStr = $this->__call('info', [$arguments]); $info = []; if (strlen($infoStr)) { preg_match_all('/^[a-z|_]*\:\h{1}/m', $infoStr, $delimiters, PREG_OFFSET_CAPTURE); $delimiters = \array_map( function ($m) { return [ 'name' => \trim(str_replace(':', '', $m[0])), 'pos' => $m[1] ]; }, $delimiters[0] ); foreach ($delimiters as $i => $d) { $pos1 = $d['pos']; $pos2 = isset($delimiters[$i + 1]) ? ($delimiters[$i + 1]['pos'] - $pos1) : null; $st = \is_null($pos2) ? \trim(substr($infoStr, $pos1)) : \trim(substr($infoStr, $pos1, $pos2)); if (strlen($st)) { $info[$d['name']] = []; switch ($d['name']) { case 'disk_fs': case 'poss': case 'status': case 'vposs': $info[$d['name']] = explode('*', $st); unset($info[$d['name']][0]); $info[$d['name']] = array_values($info[$d['name']]); foreach ($info[$d['name']] as $istr => $str) { if ($str = explode("\n", \trim($str))) { $tmp = []; foreach ($str as $is => $s) { if ($s = explode(':', $s)) { $tmp[\trim($s[0])] = \trim($s[1]); } } $str = $tmp; } $info[$d['name']][$istr] = $str; } break; case 'progs': $info[$d['name']] = explode('*', $st); unset($info[$d['name']][0]); $info[$d['name']] = array_values($info[$d['name']]); foreach ($info[$d['name']] as $istr => $str) { $info[$d['name']][$istr] = \trim(str_replace("\n", '', $str)); if (!strlen($info[$d['name']][$istr])) { unset($info[$d['name']][$istr]); } } $info[$d['name']] = array_values($info[$d['name']]); foreach ($info[$d['name']] as $istr => $str) { if ($istr % 2 === 0) { $info[$d['name']][$str] = $info[$d['name']][$istr + 1]; unset($info[$d['name']][$istr], $info[$d['name']][$istr + 1]); } } break; default: if (substr_count($st, '*')) { $info[$d['name']] = explode('*', $st); unset($info[$d['name']][0]); $info[$d['name']] = array_values($info[$d['name']]); foreach ($info[$d['name']] as $istr => $str) { $str = str_replace("\n", '', $str); $info[$d['name']][$istr] = \trim($str); } } elseif (substr_count($st, ':')) { $fields = array_filter( explode("\n", $st), function ($val) { return $val !== ''; } ); foreach ($fields as $y => $field) { if (($pos = strpos($field, ':')) !== false) { $idx = str_replace(' ', '', substr($field, 0, $pos)); $value = substr($field, $pos, strlen($field) - $pos); $value = str_replace(': ', '', $value); if (count($fields) > 1) { $info[$d['name']][$idx] = $value; if (($idx === $d['name']) && ($info[$d['name']][$idx] === '') ) { unset($info[$d['name']][$idx]); } } else { $info[$d['name']] = $value; } } } } break; } } } } return $info; }

Gets server info BBN is a suite of PHP and JS libraries and VueJS components - all open-source! bbn.io, build applications, the quick way

This website uses cookies to ensure you get the best experience on our website.