1<?php 2class Elements 3{ 4 public function __construct() {} 5 6 // Affiche l'en tete 7 public function displayEntete($infosServeur, $nom, $intro) 8 { 9 echo "<div id='entete'>"; 10 echo "<div id='texte'>"; 11 ptln('<h2>'.$nom.'</h2>'); 12 echo $intro; 13 echo "</div>"; 14 15 echo "<div id='logos'>"; 16 echo "<div id='logoA'>"; 17 IF ($infosServeur->get64() != "") { echo $infosServeur->get64();} 18 echo "</div>"; 19 20 echo "<div id='logoB'>"; 21 IF ($infosServeur->getLogoOs() != "") { echo $infosServeur->getLogoOs();} 22 echo "</div>"; 23 24 echo "<div id='logoC'>"; 25 IF (preg_match("#2 Duo#i",$infosServeur->getModelCpu())) {echo "<img src='./lib/plugins/serverinfos/img/core2.png' align='right' width=100% />";} 26 IF (preg_match("#i7#i",$infosServeur->getModelCpu())) {echo "<img src=./lib/plugins/serverinfos/img/i7.png align='right' width=100% />";} 27 IF (preg_match("#i5#i",$infosServeur->getModelCpu())) {echo "<img src='./lib/plugins/serverinfos/img/i5.png' align='right' width=100% />";} 28 IF (preg_match("#i3#i",$infosServeur->getModelCpu())) {echo "<img src='./lib/plugins/serverinfos/img/i3.png' align='right' width=100% />";} 29 IF (preg_match("#atom#i",$infosServeur->getMarkCpu())) {echo "<img src='./lib/plugins/serverinfos/img/atom.png' align='right' width=100% />";} 30 IF (preg_match("#arm#i",$infosServeur->getMarkCpu())) {echo "<img src='./lib/plugins/serverinfos/img/rpi.png' align='right' width=100% />";} 31 IF (preg_match("#xeon#i",$infosServeur->getMarkCpu())) {echo "<img src=./lib/plugins/serverinfos/img/xeon.png align='right' width=100% />";} 32 echo "</div>"; 33 34 echo "<div id='logoD'>"; 35 $revision = $infosServeur->getRevisionPi(); 36 IF (!empty($revision)) 37 { 38 echo $infosServeur->getModelPi($revision); 39 } 40 41 echo "</div>"; 42 43 echo "</div>"; 44 echo "</div>"; 45 } 46 47 // Affiche le systeme 48 public function displaySystem($infosServeur, $system_os, $server_os, $distrib, $vmac) 49 { 50 echo "<div id='categorie'>"; 51 ptln('<h3>'.$system_os.'</h3>'); 52 echo "</div>"; 53 54 // Noms 55 echo "<div id='categorie_contenu' class='categorie'>"; 56 echo "<div id='categorie_contenu_os'><strong>".$server_os."</strong></div>"; 57 echo "<div id='categorie_contenu_system'><strong>".$distrib."</strong></div>"; 58 if (PHP_OS == "Darwin") 59 { 60 echo "<div id='categorie_contenu_vmac'><strong>".$vmac."</strong></div>"; 61 } 62 echo "</div>"; 63 64 // Contenus 65 echo "<div id='categorie_contenu' class='valeur'>"; 66 echo "<div id='categorie_contenu_os'>".PHP_OS."</div>"; 67 echo "<div id='categorie_contenu_system'>".$infosServeur->getSystem(); 68 if (PHP_OS == "Darwin") {echo $infosServeur->getMacVersion();} 69 echo "</div>"; 70 if (PHP_OS == "Darwin") 71 { 72 echo "<div id='categorie_contenu_vmac'>".$infosServeur->getMacComputer()."</div>"; 73 } 74 echo "</div>"; 75 } 76 77 // Affiche Categories Hardware 78 public function displayHwCategories($cpu, $ram, $dd) 79 { 80 echo "<div id='categorie_contenu' class='categorie'>"; 81 echo "<div id='categorie_contenu_cpu'><strong>".$cpu."</strong></div>"; 82 echo "<div id='categorie_contenu_ram'><strong>".$ram."</strong></div>"; 83 echo "<div id='categorie_contenu_dd'><strong>".$dd."</strong></div>"; 84 echo "</div>"; 85 } 86 87 // Affiche Noms des Sous-categories Hardware 88 public function displayHwSCategories($cpu_mark, $cpu_model, $cpu_freq, $total, $dd_free, $dd_used) 89 { 90 echo "<div id='categorie_contenu' class='categorie'>"; 91 echo "<div id='categorie_contenu_cpu'>"; 92 echo "<div id='categorie_contenu_cpu_mark'><strong>".$cpu_mark."</strong></div>"; 93 echo "<div id='categorie_contenu_cpu_model'><strong>".$cpu_model."</strong></div>"; 94 echo "<div id='categorie_contenu_cpu_freq'><strong>".$cpu_freq."</strong></div>"; 95 echo "</div>"; 96 97 echo "<div id='categorie_contenu_ram'>"; 98 echo "<div id='categorie_contenu_ram_total'><strong>".$total."</strong></div>"; 99 echo "</div>"; 100 101 echo "<div id='categorie_contenu_dd'>"; 102 echo "<div id='categorie_contenu_cpu_mark'><strong>".$total."</strong></div>"; 103 echo "<div id='categorie_contenu_cpu_model'><strong>".$dd_free."</strong></div>"; 104 echo "<div id='categorie_contenu_cpu_freq'><strong>".$dd_used."</strong></div>"; 105 echo "</div>"; 106 echo "</div>"; 107 } 108 109 // Affiche Valeurs des Sous-categories Hardware 110 public function displayHwSCategoriesValues(InfosServer $infosServeur) 111 { 112 echo "<div id='categorie_contenu' class='valeur'>"; 113 echo "<div id='categorie_contenu_cpu'>"; 114 echo "<div id='categorie_contenu_cpu_mark'>".$infosServeur->getMarkCpu()."</div>"; 115 echo "<div id='categorie_contenu_cpu_model'>".$infosServeur->getModelCpu()."</div>"; 116 echo "<div id='categorie_contenu_cpu_freq'>".$infosServeur->getFreqCpu()."</div>"; 117 echo "</div>"; 118 119 echo "<div id='categorie_contenu_ram'>"; 120 echo "<div id='categorie_contenu_ram_total'>".$infosServeur->getRam()."</div>"; 121 echo "</div>"; 122 123 echo "<div id='categorie_contenu_dd'>"; 124 echo "<div id='categorie_contenu_cpu_mark'>".$infosServeur->getDdTotal()."</div>"; 125 echo "<div id='categorie_contenu_cpu_model'>".$infosServeur->getDdFree()."</div>"; 126 echo "<div id='categorie_contenu_cpu_freq'>".$infosServeur->getDdUsed()."</div>"; 127 echo "</div>"; 128 echo "</div>"; 129 } 130 131 // Affiche Categories Web 132 public function displayWebCategories($ip, $serverName, $serverWeb, $ServerPort) 133 { 134 echo "<div id='categorie_contenu' class='categorie'>"; 135 echo "<div id='categorie_contenu_web'><strong>".$ip."</strong></div>"; 136 echo "<div id='categorie_contenu_web'><strong>".$serverName."</strong></div>"; 137 echo "<div id='categorie_contenu_web'><strong>".$serverWeb."</strong></div>"; 138 echo "<div id='categorie_contenu_web'><strong>".$ServerPort."</strong></div>"; 139 echo "</div>"; 140 } 141 142 // Affiche Valeurs Web 143 public function displayWebValues() 144 { 145 $tmp_web = explode(" ", $_SERVER['SERVER_SOFTWARE']); 146 $webserver = $tmp_web[0].$tmp_web[1]; 147 148 echo "<div id='categorie_contenu' class='valeur'>"; 149 echo "<div id='categorie_contenu_web'>".$_SERVER['SERVER_ADDR']."</div>"; 150 echo "<div id='categorie_contenu_web'>".$_SERVER['SERVER_NAME']."</div>"; 151 echo "<div id='categorie_contenu_web'>".$webserver."</div>"; 152 echo "<div id='categorie_contenu_web'>".$_SERVER['SERVER_PORT']."</div>"; 153 echo "</div>"; 154 } 155 156 // Affiche Categories Php 157 public function displayPhpCategories($version, $uploadmaxfilesize, $postmaxsize, $memorylimit) 158 { 159 echo "<div id='categorie_contenu' class='categorie'>"; 160 echo "<div id='categorie_contenu_web'><strong>".$version."</strong></div>"; 161 echo "<div id='categorie_contenu_web'><strong>".$uploadmaxfilesize."</strong></div>"; 162 echo "<div id='categorie_contenu_web'><strong>".$postmaxsize."</strong></div>"; 163 echo "<div id='categorie_contenu_web'><strong>".$memorylimit."</strong></div>"; 164 echo "</div>"; 165 } 166 167 // Affiche Valeurs php 168 public function displayPhpValues() 169 { 170 echo "<div id='categorie_contenu' class='valeur'>"; 171 echo "<div id='categorie_contenu_web'>".phpversion()."</div>"; 172 echo "<div id='categorie_contenu_web'>".ini_get('upload_max_filesize')."</div>"; 173 echo "<div id='categorie_contenu_web'>".ini_get('post_max_size')."</div>"; 174 echo "<div id='categorie_contenu_web'>".ini_get('memory_limit')."</div>"; 175 echo "</div>"; 176 } 177 178 // Affiche chemins fichiers php 179 public function displayPhpPath($docroot, $pathini) 180 { 181 //Categories 182 echo "<div id='categorie_contenu' class='categorie'>"; 183 echo "<div id='categorie_contenu_php'><strong>".$docroot."</strong></div>"; 184 echo "<div id='categorie_contenu_php'><strong>".$pathini."</strong></div>"; 185 echo "</div>"; 186 187 // Valeurs 188 echo "<div id='categorie_contenu' class='valeur'>"; 189 echo "<div id='categorie_contenu_php'>".$_SERVER['DOCUMENT_ROOT']."</div>"; 190 echo "<div id='categorie_contenu_php'>".php_ini_loaded_file()."</div>"; 191 echo "</div>"; 192 } 193 194 // Affiche Categories Hardware 195 public function displayServicesCategories() 196 { 197 echo "<div id='categorie_contenu' class='categorie'>"; 198 echo "<div id='categorie_contenu_service'><strong>DNS</strong></div>"; 199 echo "<div id='categorie_contenu_service'><strong>DHCP</strong></div>"; 200 echo "<div id='categorie_contenu_service'><strong>SAMBA</strong></div>"; 201 echo "<div id='categorie_contenu_service'><strong>SSH</strong></div>"; 202 echo "<div id='categorie_contenu_service'><strong>FTP</strong></div>"; 203 echo "<div id='categorie_contenu_service'><strong>RADIUS</strong></div>"; 204 echo "<div id='categorie_contenu_service'><strong>MySQL</strong></div>"; 205 echo "</div>"; 206 } 207 208 // Affiche Status serveurs 209 public function displayServicesValues() 210 { 211 exec("dpkg -l | grep 'ii mysql-server '", $installDns); exec("pidof named", $statusDns); 212 exec("dpkg -l | grep 'ii isc-dhcp-server '", $installDhcp); exec("pidof dhcpd", $statusDhcp); 213 exec("dpkg -l | grep 'ii samba '", $installSamba); exec("pidof smbd", $statusSamba); 214 exec("dpkg -l | grep 'ii openssh-server '", $installSsh); exec("pidof sshd", $statusSsh); 215 exec("dpkg -l | grep 'ii proftpd-basic '", $installFtp); exec("pidof ftpd", $statusFtp); 216 exec("dpkg -l | grep 'ii freeradius '", $installRadius); exec("pidof freeradius", $statusRadius); 217 exec("dpkg -l | grep 'ii mysql-server '", $installMysql); exec("pidof mysqld", $statusMysql); 218 $none = "<span class='none'>none</span>"; 219 $ok = "<span class='online'>OK</span>"; 220 $stop = "<span class='offline'>STOP</span>"; 221 222 echo "<div id='categorie_contenu' class='valeur'>"; 223 echo "<div id='categorie_contenu_service'>"; 224 IF (empty($installDns[0])) {echo $none;} 225 ELSE { 226 IF (empty($statusDns[0])) {echo $stop;} ELSE {echo $ok;} 227 } 228 echo "</div>"; 229 echo "<div id='categorie_contenu_service'>"; 230 IF (empty($installDhcp[0])) {echo $none;} 231 ELSE { 232 IF (empty($statusDhcp[0])) {echo $stop;} ELSE {echo $ok;} 233 } 234 echo "</div>"; 235 echo "<div id='categorie_contenu_service'>"; 236 IF (empty($installSamba[0])) {echo $none;} 237 ELSE { 238 IF (empty($statusSamba[0])) {echo $stop;} ELSE {echo $ok;} 239 } 240 echo "</div>"; 241 echo "<div id='categorie_contenu_service'>"; 242 IF (empty($installSsh[0])) {echo $none;} 243 ELSE { 244 IF (empty($statusSsh[0])) {echo $stop;} ELSE {echo $ok;} 245 } 246 echo "</div>"; 247 echo "<div id='categorie_contenu_service'>"; 248 IF (empty($installFtp[0])) {echo $none;} 249 ELSE { 250 IF (empty($statusFtp[0])) {echo $stop;} ELSE {echo $ok;} 251 } 252 echo "</div>"; 253 echo "<div id='categorie_contenu_service'>"; 254 IF (empty($installRadius[0])) {echo $none;} 255 ELSE { 256 IF (empty($statusRadius[0])) {echo $stop;} ELSE {echo $ok;} 257 } 258 echo "</div>"; 259 echo "<div id='categorie_contenu_service'>"; 260 IF (empty($installMysql[0])) {echo $none;} 261 ELSE { 262 IF (empty($statusMysql[0])) {echo $stop;} ELSE {echo $ok;} 263 } 264 echo "</div>"; 265 echo "</div>"; 266 } 267 268 // Affiche l'entete 269 public function displayHead($nom) 270 { 271 echo "<div id='categorie'>"; 272 ptln('<h3>'.$nom.'</h3>'); 273 echo "</div>"; 274 } 275 276 // Recupere heure 277 public function getTime() 278 { 279 exec('uptime', $data); 280 $result_command = $data[0]; 281 return $result_command; 282 } 283 284 // Affiche l'heure 285 public function getLocalTime($timeValue) 286 { 287 //echo $timeValue; 288 $data['up'] = explode('up',$timeValue); 289 $data['mins'] = explode('mins',$timeValue); 290 $data['duree'] = $data['up'][1]; 291 $data['server_local_time'] = $data['up'][0]; 292 return $data['server_local_time']; 293 } 294 295 // Affiche l'uptime 296 public function getUptime($uptime, $day, $hour, $minute) 297 { 298 $data['up'] = explode('up',$uptime); 299 $data['mins'] = explode('mins',$uptime); 300 $data['duree'] = $data['up'][1]; 301 $data['server_local_time'] = $data['up'][0]; 302 303 // timeup between 0 and 59 minutes 304 IF (preg_match("#min#i",$uptime)) 305 { 306 $duree = explode('mins',$data['up'][1]); 307 $minutes = $duree[0]; 308 if ($minutes>1) { $sm='s'; } else { $sm=''; } 309 $ITIL = $minutes." ".($minute).$sm; 310 return $ITIL; 311 } 312 313 // timeup between 1 and 24 hours 314 IF (!preg_match("#sec#i",$uptime) AND !preg_match("#min#i",$uptime) AND !preg_match("#day#i",$uptime)) 315 { 316 $duree_tmp = explode(',',$data['up'][1]); 317 $duree = explode(':',$duree_tmp[0]); 318 $heures = $duree[0]; 319 $minutes = $duree[1]; 320 if ($heures>1) { $sh='s'; } else { $sh=''; } 321 if ($minutes>1) { $sm='s'; } else { $sm=''; } 322 $ITIL = $heures." ".$hour.$sh." ".$minutes." ".$minute.$sm; 323 return $ITIL; 324 } 325 326 // timeup > 1 day 327 IF (preg_match("#day#i",$uptime)) 328 { 329 $duree_tmp = explode('up',$data['up'][1]); 330 $days_hours = explode(',',$duree_tmp[0]); 331 $nb_days_tmp = explode("day",$days_hours[0]); 332 $days = $nb_days_tmp[0]; 333 334 if (preg_match("#min#i",$uptime)) 335 { 336 $duree = explode('min',$days_hours[1]); 337 $minutes = $duree[0]; 338 $heures = ""; 339 } 340 else 341 { 342 $duree = explode(':',$days_hours[1]); 343 $heures = $duree[0]; 344 $minutes = $duree[1]; 345 $display_hours = $hour; 346 } 347 348 if ($heures >0) {$display_hours = $hour;} else {$display_hours = "";} 349 if ($heures>1) { $sh='s'; } else { $sh=''; } 350 if ($minutes>1) { $sm='s'; } else { $sm=''; } 351 if ($days>1) { $sd='s'; } else { $sd=''; } 352 $ITIL = $days.$day.$sd." ".$heures." ".$display_hours.$sh." ".$minutes." ".$minute.$sm; 353 return $ITIL; 354 } 355 } 356 357} 358?> 359