/**
  * get icon name
  *
  * @return void
  */
 protected function distro()
 {
     $this->sys->setDistributionIcon('Darwin.png');
     if (!CommonFunctions::executeProgram('system_profiler', 'SPSoftwareDataType', $buffer, PSI_DEBUG)) {
         parent::distro();
     } else {
         $arrBuff = preg_split("/\n/", $buffer, -1, PREG_SPLIT_NO_EMPTY);
         foreach ($arrBuff as $line) {
             $arrLine = preg_split("/:/", $line, -1, PREG_SPLIT_NO_EMPTY);
             if (trim($arrLine[0]) === "System Version") {
                 $distro = trim($arrLine[1]);
                 if (preg_match('/(^Mac OS)|(^OS X)/', $distro)) {
                     $this->sys->setDistributionIcon('Apple.png');
                     if (preg_match('/((^Mac OS X)|(^OS X)) (\\d+\\.\\d+)/', $distro, $ver) && ($list = @parse_ini_file(APP_ROOT . "/data/osnames.ini", true)) && isset($list['OS X'][$ver[4]])) {
                         $distro .= ' ' . $list['OS X'][$ver[4]];
                     }
                 }
                 $this->sys->setDistribution($distro);
                 return;
             }
         }
     }
 }
Example #2
0
 /**
  * get icon name
  *
  * @return void
  */
 protected function distro()
 {
     $this->sys->setDistributionIcon('Darwin.png');
     if (!CommonFunctions::executeProgram('system_profiler', 'SPSoftwareDataType', $buffer, PSI_DEBUG)) {
         parent::distro();
     } else {
         $arrBuff = preg_split("/\n/", $buffer, -1, PREG_SPLIT_NO_EMPTY);
         foreach ($arrBuff as $line) {
             $arrLine = preg_split("/:/", $line, -1, PREG_SPLIT_NO_EMPTY);
             if (trim($arrLine[0]) === "System Version") {
                 $distro = trim($arrLine[1]);
                 if (preg_match('/^Mac OS/', $distro)) {
                     $this->sys->setDistributionIcon('Apple.png');
                 }
                 $this->sys->setDistribution($distro);
                 return;
             }
         }
     }
 }