Subversion Repositories ALCASAR

Rev

Rev 3037 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 3037 Rev 3287
Line 70... Line 70...
70
            foreach ($processors as $processor) {
70
            foreach ($processors as $processor) {
71
                $_n = ""; $_f = ""; $_m = ""; $_s = "";
71
                $_n = ""; $_f = ""; $_m = ""; $_s = "";
72
                $dev = new CpuDevice();
72
                $dev = new CpuDevice();
73
                $details = preg_split("/\n/", $processor, -1, PREG_SPLIT_NO_EMPTY);
73
                $details = preg_split("/\n/", $processor, -1, PREG_SPLIT_NO_EMPTY);
74
                foreach ($details as $detail) {
74
                foreach ($details as $detail) {
75
                    $arrBuff = preg_split('/\s+:\s+/', trim($detail));
75
                    if (preg_match('/^([^:]+):(.+)$/', trim($detail) , $arrBuff) && (($arrBuff2 = trim($arrBuff[2])) !== '')) {
76
                    if (count($arrBuff) == 2) {
-
 
77
                        switch (strtolower($arrBuff[0])) {
76
                        switch (strtolower(trim($arrBuff[1]))) {
78
                        case 'model name':
77
                        case 'model name':
79
                            $_n = $arrBuff[1];
78
                            $_n = $arrBuff2;
80
                            break;
79
                            break;
81
                        case 'cpu mhz':
80
                        case 'cpu mhz':
82
                            $dev->setCpuSpeed($arrBuff[1]);
81
                            $dev->setCpuSpeed($arrBuff2);
83
                            break;
82
                            break;
84
                        case 'cpu family':
83
                        case 'cpu family':
85
                            $_f = $arrBuff[1];
84
                            $_f = $arrBuff2;
86
                            break;
85
                            break;
87
                        case 'model':
86
                        case 'model':
88
                            $_m = $arrBuff[1];
87
                            $_m = $arrBuff2;
89
                            break;
88
                            break;
90
                        case 'stepping':
89
                        case 'stepping':
91
                            $_s = $arrBuff[1];
90
                            $_s = $arrBuff2;
92
                            break;
91
                            break;
93
                        case 'flags':
92
                        case 'flags':
94
                            if (preg_match("/ vmx/", $arrBuff[1])) {
93
                            if (preg_match("/ vmx/", $arrBuff2)) {
95
                                $dev->setVirt("vmx");
94
                                $dev->setVirt("vmx");
96
                            } elseif (preg_match("/ svm/", $arrBuff[1])) {
95
                            } elseif (preg_match("/ svm/", $arrBuff2)) {
97
                                $dev->setVirt("svm");
96
                                $dev->setVirt("svm");
98
                            }
97
                            }
99
                            break;
98
                            break;
100
                        case 'vendor_id':
99
                        case 'vendor_id':
101
                            $dev->setVendorId($arrBuff[1]);
100
                            $dev->setVendorId($arrBuff2);
102
                        }
101
                        }
103
                    }
102
                    }
104
                }
103
                }
105
                if ($_n == "") $_n="CPU";
104
                if ($_n == "") $_n="CPU";
106
                if ($_f != "") $_n.=" Family ".$_f;
105
                if ($_f != "") $_n.=" Family ".$_f;