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.                
                
              
              
                
                
              
             
           
          
          
          
            
            © 2011-2025 
BBN Solutions