From dd0130670fe3cab4c7e2c1ab4f3bf0d2b2d512b0 Mon Sep 17 00:00:00 2001
From: Denny Bortfeldt <denny@bortfeldt.net>
Date: Mon, 27 Jun 2016 18:02:16 -0400
Subject: [PATCH] When uploading a logo which is smaller than the current ispconfig one, then the logo will be on the left side of the header. In my opinion it will look better when it's centered. You could vote about it ;)

---
 server/lib/classes/monitor_tools.inc.php |  452 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 255 insertions(+), 197 deletions(-)

diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index 9b706ce..9c39fc2 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -35,23 +35,29 @@
 	//   This is the same code as in install/lib/install.lib.php
 	//   So if you change it here, you also have to change it in there!
 	//   Please do not forget to remove the swriteln(); - lines here at this file
-	public function get_distname() {
+	function get_distname() {
 
-		$distname = '';
-		$distver = '';
-		$distid = '';
-		$distbaseid = '';
+	$distname = '';
+	$distver = '';
+	$distid = '';
+	$distbaseid = '';
 
-		//** Debian or Ubuntu
-		if (file_exists('/etc/debian_version')) {
-			if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu')) {
-				if (strstr(trim(file_get_contents('/etc/issue')), 'LTS')) {
+	//** Debian or Ubuntu
+	if(file_exists('/etc/debian_version')) {
+		
+		// Check if this is Ubuntu and not Debian
+		if (strstr(trim(file_get_contents('/etc/issue')), 'Ubuntu') || (is_file('/etc/os-release') && stristr(file_get_contents('/etc/os-release'), 'Ubuntu'))) {
+			
+			$issue = file_get_contents('/etc/issue');
+			
+			// Use content of /etc/issue file
+			if(strstr($issue,'Ubuntu')) {
+				if (strstr(trim($issue), 'LTS')) {
 					$lts=" LTS";
 				} else {
 					$lts="";
 				}
 
-				$issue=file_get_contents('/etc/issue');
 				$distname = 'Ubuntu';
 				$distid = 'debian40';
 				$distbaseid = 'debian';
@@ -61,199 +67,246 @@
 				$mainver = explode('.', $ver);
 				$mainver = array_filter($mainver);
 				$mainver = current($mainver).'.'.next($mainver);
-				switch ($mainver){
-				case "15.04":
-					$relname = "(Vivid Vervet)";
-					break;
-				case "14.10":
-					$relname = "(Utopic Unicorn)";
-					break;
-				case "14.04":
-					$relname = "(Trusty Tahr)";
-					break;
-				case "13.10":
-					$relname = "(Saucy Salamander)";
-					break;
-				case "13.04":
-					$relname = "(Raring Ringtail)";
-					break;
-				case "12.10":
-					$relname = "(Quantal Quetzal)";
-					break;
-				case "12.04":
-					$relname = "(Precise Pangolin)";
-					break;
-				case "11.10":
-					$relname = "(Oneiric Ocelot)";
-					break;
-				case "11.14":
-					$relname = "(Natty Narwhal)";
-					break;
-				case "10.10":
-					$relname = "(Maverick Meerkat)";
-					break;
-				case "10.04":
-					$relname = "(Lucid Lynx)";
-					break;
-				case "9.10":
-					$relname = "(Karmic Koala)";
-					break;
-				case "9.04":
-					$relname = "(Jaunty Jackpole)";
-					break;
-				case "8.10":
-					$relname = "(Intrepid Ibex)";
-					break;
-				case "8.04":
-					$relname = "(Hardy Heron)";
-					break;
-				case "7.10":
-					$relname = "(Gutsy Gibbon)";
-					break;
-				case "7.04":
-					$relname = "(Feisty Fawn)";
-					break;
-				case "6.10":
-					$relname = "(Edgy Eft)";
-					break;
-				case "6.06":
-					$relname = "(Dapper Drake)";
-					break;
-				case "5.10":
-					$relname = "(Breezy Badger)";
-					break;
-				case "5.04":
-					$relname = "(Hoary Hedgehog)";
-					break;
-				case "4.10":
-					$relname = "(Warty Warthog)";
-					break;
-				default:
-					$relname = "UNKNOWN";
+			// Use content of /etc/os-release file
+			} else {
+				$os_release = file_get_contents('/etc/os-release');
+				if (strstr(trim($os_release), 'LTS')) {
+					$lts = " LTS";
+				} else {
+					$lts = "";
 				}
-				$distver = $ver.$lts." ".$relname;
-			} elseif(trim(file_get_contents('/etc/debian_version')) == '4.0') {
-				$distname = 'Debian';
-				$distver = '4.0';
+				
+				$distname = 'Ubuntu';
 				$distid = 'debian40';
 				$distbaseid = 'debian';
-			} elseif (strstr(trim(file_get_contents('/etc/debian_version')), '5.0')) {
-				$distname = 'Debian';
-				$distver = 'Lenny';
-				$distid = 'debian40';
-				$distbaseid = 'debian';
-			} elseif (strstr(trim(file_get_contents('/etc/debian_version')), '6.0') || trim(file_get_contents('/etc/debian_version')) == 'squeeze/sid') {
-				$distname = 'Debian';
-				$distver = 'Squeeze/Sid';
-				$distid = 'debian60';
-				$distbaseid = 'debian';
-			} elseif (strstr(trim(file_get_contents('/etc/debian_version')), '7.0') || substr(trim(file_get_contents('/etc/debian_version')),0,2) == '7.' || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') {
-				$distname = 'Debian';
-				$distver = 'Wheezy/Sid';
-				$distid = 'debian60';
-				$distbaseid = 'debian';
-			} elseif(strstr(trim(file_get_contents('/etc/debian_version')), '8') || substr(trim(file_get_contents('/etc/debian_version')),0,1) == '8') {
-				$distname = 'Debian';
-				$distver = 'Jessie';
-				$distid = 'debian60';
-				$distbaseid = 'debian';
-			} else {
-				$distname = 'Debian';
-				$distver = 'Unknown';
-				$distid = 'debian40';
-				$distbaseid = 'debian';
+
+				preg_match("/.*VERSION=\"(.*)\".*/ui", $os_release, $ver);
+				$ver = str_replace("LTS", "", $ver[1]);
+				$ver = explode(" ", $ver, 2);
+				$ver = reset($ver);
+				$mainver = $ver;
 			}
-		}
-
-		//** OpenSuSE
-		elseif (file_exists('/etc/SuSE-release')) {
-			if (stristr(file_get_contents('/etc/SuSE-release'), '11.0')) {
-				$distname = 'openSUSE';
-				$distver = '11.0';
-				$distid = 'opensuse110';
-				$distbaseid = 'opensuse';
-			} elseif (stristr(file_get_contents('/etc/SuSE-release'), '11.1')) {
-				$distname = 'openSUSE';
-				$distver = '11.1';
-				$distid = 'opensuse110';
-				$distbaseid = 'opensuse';
-			} elseif (stristr(file_get_contents('/etc/SuSE-release'), '11.2')) {
-				$distname = 'openSUSE';
-				$distver = '11.1';
-				$distid = 'opensuse110';
-				$distbaseid = 'opensuse';
-			} else {
-				$distname = 'openSUSE';
-				$distver = 'Unknown';
-				$distid = 'opensuse110';
-				$distbaseid = 'opensuse';
+			switch ($mainver){
+			case "16.04":
+				$relname = "(Xenial Xerus)";
+				$distconfid = 'ubuntu1604';
+				break;
+			case "15.10":
+				$relname = "(Wily Werewolf)";
+				break;
+			case "15.04":
+				$relname = "(Vivid Vervet)";
+				break;
+			case "14.10":
+				$relname = "(Utopic Unicorn)";
+				break;
+			case "14.04":
+				$relname = "(Trusty Tahr)";
+				break;
+			case "13.10":
+				$relname = "(Saucy Salamander)";
+				break;
+			case "13.04":
+				$relname = "(Raring Ringtail)";
+				break;
+			case "12.10":
+				$relname = "(Quantal Quetzal)";
+				break;
+			case "12.04":
+				$relname = "(Precise Pangolin)";
+				break;
+			case "11.10":
+				$relname = "(Oneiric Ocelot)";
+				break;
+			case "11.14":
+				$relname = "(Natty Narwhal)";
+				break;
+			case "10.10":
+				$relname = "(Maverick Meerkat)";
+				break;
+			case "10.04":
+				$relname = "(Lucid Lynx)";
+				break;
+			case "9.10":
+				$relname = "(Karmic Koala)";
+				break;
+			case "9.04":
+				$relname = "(Jaunty Jackpole)";
+				break;
+			case "8.10":
+				$relname = "(Intrepid Ibex)";
+				break;
+			case "8.04":
+				$relname = "(Hardy Heron)";
+				break;
+			case "7.10":
+				$relname = "(Gutsy Gibbon)";
+				break;
+			case "7.04":
+				$relname = "(Feisty Fawn)";
+				break;
+			case "6.10":
+				$relname = "(Edgy Eft)";
+				break;
+			case "6.06":
+				$relname = "(Dapper Drake)";
+				break;
+			case "5.10":
+				$relname = "(Breezy Badger)";
+				break;
+			case "5.04":
+				$relname = "(Hoary Hedgehog)";
+				break;
+			case "4.10":
+				$relname = "(Warty Warthog)";
+				break;
+			default:
+				$relname = "UNKNOWN";
 			}
-		}
-
-
-		//** Redhat
-		elseif (file_exists('/etc/redhat-release')) {
-
-			$content = file_get_contents('/etc/redhat-release');
-
-			if (stristr($content, 'Fedora release 9 (Sulphur)')) {
-				$distname = 'Fedora';
-				$distver = '9';
-				$distid = 'fedora9';
-				$distbaseid = 'fedora';
-			} elseif (stristr($content, 'Fedora release 10 (Cambridge)')) {
-				$distname = 'Fedora';
-				$distver = '10';
-				$distid = 'fedora9';
-				$distbaseid = 'fedora';
-			} elseif (stristr($content, 'Fedora release 10')) {
-				$distname = 'Fedora';
-				$distver = '11';
-				$distid = 'fedora9';
-				$distbaseid = 'fedora';
-			} elseif (stristr($content, 'CentOS release 5.2 (Final)')) {
-				$distname = 'CentOS';
-				$distver = '5.2';
-				$distid = 'centos52';
-				$distbaseid = 'fedora';
-			} elseif (stristr($content, 'CentOS release 5.3 (Final)')) {
-				$distname = 'CentOS';
-				$distver = '5.3';
-				$distid = 'centos53';
-				$distbaseid = 'fedora';
-			} elseif(stristr($content, 'CentOS Linux release 6')) {
-				$distname = 'CentOS';
-				$distver = 'Unknown';
-				$distid = 'centos53';
-				$distbaseid = 'fedora';
-			} elseif(stristr($content, 'CentOS Linux release 7')) {
-				$distname = 'CentOS';
-				$distver = 'Unknown';
-				$distid = 'centos53';
-				$distbaseid = 'fedora';
-			} else {
-				$distname = 'Redhat';
-				$distver = 'Unknown';
-				$distid = 'fedora9';
-				$distbaseid = 'fedora';
-			}
-		}
-
-		//** Gentoo
-		elseif (file_exists('/etc/gentoo-release')) {
-
-			$content = file_get_contents('/etc/gentoo-release');
-
-			preg_match_all('/([0-9]{1,2})/', $content, $version);
-			$distname = 'Gentoo';
-			$distver = $version[0][0] . $version[0][1];
-			$distid = 'gentoo';
-			$distbaseid = 'gentoo';
+			$distver = $ver.$lts." ".$relname;
+		} elseif(trim(file_get_contents('/etc/debian_version')) == '4.0') {
+			$distname = 'Debian';
+			$distver = '4.0';
+			$distid = 'debian40';
+			$distbaseid = 'debian';
+		} elseif(strstr(trim(file_get_contents('/etc/debian_version')), '5.0')) {
+			$distname = 'Debian';
+			$distver = 'Lenny';
+			$distid = 'debian40';
+			$distbaseid = 'debian';
+		} elseif(strstr(trim(file_get_contents('/etc/debian_version')), '6.0') || trim(file_get_contents('/etc/debian_version')) == 'squeeze/sid') {
+			$distname = 'Debian';
+			$distver = 'Squeeze/Sid';
+			$distid = 'debian60';
+			$distbaseid = 'debian';
+		} elseif(strstr(trim(file_get_contents('/etc/debian_version')), '7.0') || substr(trim(file_get_contents('/etc/debian_version')),0,2) == '7.' || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') {
+			$distname = 'Debian';
+			$distver = 'Wheezy/Sid';
+			$distid = 'debian60';
+			$distbaseid = 'debian';
+		} elseif(strstr(trim(file_get_contents('/etc/debian_version')), '8') || substr(trim(file_get_contents('/etc/debian_version')),0,1) == '8') {
+			$distname = 'Debian';
+			$distver = 'Jessie';
+			$distid = 'debian60';
+			$distbaseid = 'debian';
+		} elseif(strstr(trim(file_get_contents('/etc/debian_version')), '/sid')) {
+			$distname = 'Debian';
+			$distver = 'Testing';
+			$distid = 'debian60';
+			$distconfid = 'debiantesting';
+			$distbaseid = 'debian';
 		} else {
-			die('Unrecognized GNU/Linux distribution');
+			$distname = 'Debian';
+			$distver = 'Unknown';
+			$distid = 'debian40';
+			$distbaseid = 'debian';
 		}
+	}
 
-		return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'baseid' => $distbaseid);
+	//** OpenSuSE
+	elseif(file_exists('/etc/SuSE-release')) {
+		if(stristr(file_get_contents('/etc/SuSE-release'), '11.0')) {
+			$distname = 'openSUSE';
+			$distver = '11.0';
+			$distid = 'opensuse110';
+			$distbaseid = 'opensuse';
+		} elseif(stristr(file_get_contents('/etc/SuSE-release'), '11.1')) {
+			$distname = 'openSUSE';
+			$distver = '11.1';
+			$distid = 'opensuse110';
+			$distbaseid = 'opensuse';
+		} elseif(stristr(file_get_contents('/etc/SuSE-release'), '11.2')) {
+			$distname = 'openSUSE';
+			$distver = '11.2';
+			$distid = 'opensuse112';
+			$distbaseid = 'opensuse';
+		}  else {
+			$distname = 'openSUSE';
+			$distver = 'Unknown';
+			$distid = 'opensuse112';
+			$distbaseid = 'opensuse';
+		}
+	}
+
+
+	//** Redhat
+	elseif(file_exists('/etc/redhat-release')) {
+
+		$content = file_get_contents('/etc/redhat-release');
+
+		if(stristr($content, 'Fedora release 9 (Sulphur)')) {
+			$distname = 'Fedora';
+			$distver = '9';
+			$distid = 'fedora9';
+			$distbaseid = 'fedora';
+		} elseif(stristr($content, 'Fedora release 10 (Cambridge)')) {
+			$distname = 'Fedora';
+			$distver = '10';
+			$distid = 'fedora9';
+			$distbaseid = 'fedora';
+		} elseif(stristr($content, 'Fedora release 10')) {
+			$distname = 'Fedora';
+			$distver = '11';
+			$distid = 'fedora9';
+			$distbaseid = 'fedora';
+		} elseif(stristr($content, 'CentOS release 5.2 (Final)')) {
+			$distname = 'CentOS';
+			$distver = '5.2';
+			$distid = 'centos52';
+			$distbaseid = 'fedora';
+		} elseif(stristr($content, 'CentOS release 5.3 (Final)')) {
+			$distname = 'CentOS';
+			$distver = '5.3';
+			$distid = 'centos53';
+			$distbaseid = 'fedora';
+		} elseif(stristr($content, 'CentOS release 5')) {
+			$distname = 'CentOS';
+			$distver = 'Unknown';
+			$distid = 'centos53';
+			$distbaseid = 'fedora';
+		} elseif(stristr($content, 'CentOS Linux release 6')) {
+			$distname = 'CentOS';
+			$distver = 'Unknown';
+			$distid = 'centos53';
+			$distbaseid = 'fedora';
+		} elseif(stristr($content, 'CentOS Linux release 7.2')) {
+			$distname = 'CentOS';
+			$distver = 'Unknown';
+			$distid = 'centos70';
+			$distconfid = 'centos72';
+			$distbaseid = 'fedora';
+		} elseif(stristr($content, 'CentOS Linux release 7')) {
+			$distname = 'CentOS';
+			$distver = 'Unknown';
+			$distid = 'centos70';
+			$distbaseid = 'fedora';
+		} else {
+			$distname = 'Redhat';
+			$distver = 'Unknown';
+			$distid = 'fedora9';
+			$distbaseid = 'fedora';
+		}
+	}
+
+	//** Gentoo
+	elseif(file_exists('/etc/gentoo-release')) {
+
+		$content = file_get_contents('/etc/gentoo-release');
+
+		preg_match_all('/([0-9]{1,2})/', $content, $version);
+		$distname = 'Gentoo';
+		$distver = $version[0][0].$version[0][1];
+		$distid = 'gentoo';
+		$distbaseid = 'gentoo';
+
+	} else {
+		die('Unrecognized GNU/Linux distribution');
+	}
+	
+	// Set $distconfid to distid, if no different id for the config is defined
+	if(!isset($distconfid)) $distconfid = $distid;
+
+	return array('name' => $distname, 'version' => $distver, 'id' => $distid, 'confid' => $distconfid, 'baseid' => $distbaseid);
 	}
 
 	// this function remains in the tools class, because it is used by cron AND rescue
@@ -363,14 +416,16 @@
 				$state = 'error'; // because service is down
 			}
 		}
+/*
 		$data['mongodbserver'] = -1;
 		if ($this->_checkTcp('localhost', 27017)) {
 			$data['mongodbserver'] = 1;
 		} else {
 			$data['mongodbserver'] = 0;
+*/
 			//$state = 'error'; // because service is down
 			/* TODO!!! check if this is a mongodbserver at all, otherwise it will always throw an error state!!! */
-		}
+//		}
 
 		/*
 		 * Return the Result
@@ -708,7 +763,10 @@
 			}
 			if($inHeader == true) {
 				$parts = explode(':', $lines[$l], 2);
-				if(strtolower($parts[0]) == 'subject') $mailSubject = trim($parts[1]);
+				if(strtolower($parts[0]) == 'subject') {
+					$mailSubject = trim($parts[1]);
+					continue;
+				}
 				unset($parts);
 				$mailHeaders .= trim($lines[$l]) . "\n";
 			} else {

--
Gitblit v1.9.1