| 
									
										
										
										
											2014-06-18 10:11:11 +02:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2015-07-07 15:57:41 +02:00
										 |  |  | require '../autoload.php'; | 
					
						
							|  |  |  | $Config = new Config(); | 
					
						
							| 
									
										
										
										
											2014-06-18 10:11:11 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | // Number of cores
 | 
					
						
							| 
									
										
										
										
											2015-01-16 18:14:07 +01:00
										 |  |  | $num_cores = Misc::getCpuCoresNumber(); | 
					
						
							| 
									
										
										
										
											2014-06-18 10:11:11 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // CPU info
 | 
					
						
							| 
									
										
										
										
											2015-01-16 18:14:07 +01:00
										 |  |  | $model      = 'N.A'; | 
					
						
							|  |  |  | $frequency  = 'N.A'; | 
					
						
							|  |  |  | $cache      = 'N.A'; | 
					
						
							|  |  |  | $bogomips   = 'N.A'; | 
					
						
							| 
									
										
										
										
											2015-07-07 15:57:41 +02:00
										 |  |  | $temp       = 'N.A'; | 
					
						
							| 
									
										
										
										
											2015-01-16 18:14:07 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | if ($cpuinfo = shell_exec('cat /proc/cpuinfo')) | 
					
						
							| 
									
										
										
										
											2014-06-18 10:11:11 +02:00
										 |  |  | { | 
					
						
							|  |  |  |     $processors = preg_split('/\s?\n\s?\n/', trim($cpuinfo)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     foreach ($processors as $processor) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $details = preg_split('/\n/', $processor, -1, PREG_SPLIT_NO_EMPTY); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         foreach ($details as $detail) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             list($key, $value) = preg_split('/\s*:\s*/', trim($detail)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-16 18:14:07 +01:00
										 |  |  |             switch (strtolower($key)) | 
					
						
							| 
									
										
										
										
											2014-06-18 10:11:11 +02:00
										 |  |  |             { | 
					
						
							|  |  |  |                 case 'model name': | 
					
						
							|  |  |  |                 case 'cpu model': | 
					
						
							|  |  |  |                 case 'cpu': | 
					
						
							| 
									
										
										
										
											2015-01-16 18:14:07 +01:00
										 |  |  |                 case 'processor': | 
					
						
							| 
									
										
										
										
											2014-06-18 10:11:11 +02:00
										 |  |  |                     $model = $value; | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-16 18:14:07 +01:00
										 |  |  |                 case 'cpu mhz': | 
					
						
							| 
									
										
										
										
											2014-06-18 10:11:11 +02:00
										 |  |  |                 case 'clock': | 
					
						
							|  |  |  |                     $frequency = $value.' MHz'; | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 case 'cache size': | 
					
						
							|  |  |  |                 case 'l2 cache': | 
					
						
							|  |  |  |                     $cache = $value; | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 case 'bogomips': | 
					
						
							|  |  |  |                     $bogomips = $value; | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-07 15:57:41 +02:00
										 |  |  | if ($frequency == 'N.A') | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     if ($f = shell_exec('cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq')) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $f = $f / 1000; | 
					
						
							|  |  |  |         $frequency = $f.' MHz'; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // CPU Temp
 | 
					
						
							|  |  |  | if ($Config->get('cpu:enable_temperature')) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     if (exec('/usr/bin/sensors | grep -E "^(CPU Temp|Core 0)" | cut -d \'+\' -f2 | cut -d \'.\' -f1', $t)) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if (isset($t[0])) | 
					
						
							|  |  |  |             $temp = $t[0].' °C'; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if (exec('cat /sys/class/thermal/thermal_zone0/temp', $t)) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             $temp = round($t[0] / 1000).' °C'; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-18 10:11:11 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | $datas = array( | 
					
						
							|  |  |  |     'model'      => $model, | 
					
						
							|  |  |  |     'num_cores'  => $num_cores, | 
					
						
							|  |  |  |     'frequency'  => $frequency, | 
					
						
							|  |  |  |     'cache'      => $cache, | 
					
						
							|  |  |  |     'bogomips'   => $bogomips, | 
					
						
							| 
									
										
										
										
											2015-07-07 15:57:41 +02:00
										 |  |  |     'temp'       => $temp, | 
					
						
							| 
									
										
										
										
											2014-06-18 10:11:11 +02:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo json_encode($datas); |