/**
  * filesystem information
  *
  * @return void
  */
 private function _filesystems()
 {
     if (CommonFunctions::executeProgram('df', '-k', $df, PSI_DEBUG)) {
         $mounts = preg_split("/\n/", $df, -1, PREG_SPLIT_NO_EMPTY);
         foreach ($mounts as $mount) {
             $ar_buf = preg_split('/\\s+/', $mount, 6);
             $dev = new DiskDevice();
             $dev->setName($ar_buf[0]);
             $dev->setTotal($ar_buf[1] * 1024);
             $dev->setUsed($ar_buf[2] * 1024);
             $dev->setFree($ar_buf[3] * 1024);
             $dev->setMountPoint($ar_buf[5]);
             if (CommonFunctions::executeProgram('df', '-n', $dftypes, PSI_DEBUG)) {
                 $mounttypes = preg_split("/\n/", $dftypes, -1, PREG_SPLIT_NO_EMPTY);
                 foreach ($mounttypes as $type) {
                     $ty_buf = preg_split('/:/', $type, 2);
                     if ($ty_buf == $dev->getName()) {
                         $dev->setFsType($ty_buf[1]);
                         break;
                     }
                 }
             }
             $this->sys->setDiskDevices($dev);
         }
     }
 }
 /**
  * fill a xml element with atrributes from a disk device
  *
  * @param SimpleXmlExtended $mount Xml-Element
  * @param DiskDevice        $dev   DiskDevice
  * @param Integer           $i     counter
  *
  * @return Void
  */
 private function _fillDevice($mount, $dev, $i)
 {
     $mount->addAttribute('MountPointID', $i);
     $mount->addAttribute('FSType', $dev->getFsType());
     $mount->addAttribute('Name', $dev->getName());
     $mount->addAttribute('Free', $dev->getFree());
     $mount->addAttribute('Used', $dev->getUsed());
     $mount->addAttribute('Total', $dev->getTotal());
     $mount->addAttribute('Percent', $dev->getPercentUsed());
     if ($dev->getOptions() !== null) {
         $mount->addAttribute('MountOptions', $dev->getOptions());
     }
     if ($dev->getPercentInodesUsed() !== null) {
         $mount->addAttribute('Inodes', $dev->getPercentInodesUsed());
     }
     if (PSI_SHOW_MOUNT_POINT === true) {
         $mount->addAttribute('MountPoint', $dev->getMountPoint());
     }
 }
 /**
  * fill a xml element with atrributes from a disk device
  *
  * @param SimpleXmlExtended $mount Xml-Element
  * @param DiskDevice        $dev   DiskDevice
  * @param Integer           $i     counter
  *
  * @return Void
  */
 private function _fillDevice(SimpleXMLExtended $mount, DiskDevice $dev, $i)
 {
     $mount->addAttribute('MountPointID', $i);
     $mount->addAttribute('FSType', $dev->getFsType());
     $mount->addAttribute('Name', $dev->getName());
     $mount->addAttribute('Free', sprintf("%.0f", $dev->getFree()));
     $mount->addAttribute('Used', sprintf("%.0f", $dev->getUsed()));
     $mount->addAttribute('Total', sprintf("%.0f", $dev->getTotal()));
     $mount->addAttribute('Percent', $dev->getPercentUsed());
     if (PSI_SHOW_MOUNT_OPTION === true) {
         if ($dev->getOptions() !== null) {
             $mount->addAttribute('MountOptions', preg_replace("/,/", ", ", $dev->getOptions()));
         }
     }
     if ($dev->getPercentInodesUsed() !== null) {
         $mount->addAttribute('Inodes', $dev->getPercentInodesUsed());
     }
     if (PSI_SHOW_MOUNT_POINT === true) {
         $mount->addAttribute('MountPoint', $dev->getMountPoint());
     }
 }
 /**
  * fill a xml element with atrributes from a disk device
  *
  * @param DiskDevice $dev DiskDevice
  * @param Integer    $i   counter
  *
  * @return Void
  */
 private function _fillDevice(DiskDevice $dev, $i)
 {
     $mount = array('MountPointID' => $i, 'FSType' => $dev->getFsType(), 'Name' => $dev->getName(), 'Free' => sprintf("%.0f", $dev->getFree()), 'Used' => sprintf("%.0f", $dev->getUsed()), 'Total' => sprintf("%.0f", $dev->getTotal()), 'Percent' => $dev->getPercentUsed());
     if (PSI_SHOW_MOUNT_OPTION === true && $dev->getOptions() !== null) {
         $mount['MountOptions'] = preg_replace("/,/", ", ", $dev->getOptions());
     }
     if ($dev->getPercentInodesUsed() !== null) {
         $mount['Inodes'] = $dev->getPercentInodesUsed();
     }
     if (PSI_SHOW_MOUNT_POINT === true) {
         $mount['MountPoint'] = $dev->getMountPoint();
     }
     return $mount;
 }