/** * 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; } } } }
/** * 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; } } } }