From 67b833290498b17b94983b2d4c457e91bed0d13b Mon Sep 17 00:00:00 2001 From: Andreas <6977712+AndreasK79@users.noreply.github.com> Date: Fri, 14 Jul 2023 22:54:53 +0200 Subject: [PATCH] [Debug] Added checks for systems without stat command --- application/views/debug/main.php | 55 +++++++++++++++++--------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/application/views/debug/main.php b/application/views/debug/main.php index 504eadf77..901a4328a 100644 --- a/application/views/debug/main.php +++ b/application/views/debug/main.php @@ -111,7 +111,7 @@ Installed - + Not Installed @@ -122,7 +122,7 @@ Installed - + Not Installed @@ -133,7 +133,7 @@ Installed - + Not Installed @@ -144,7 +144,7 @@ Installed - + Not Installed @@ -155,7 +155,7 @@ Installed - + Not Installed @@ -171,22 +171,27 @@ $owner = ''; // only proceed here if git can actually be executed if ($commitHash != "") { - $commitDate = trim(exec('git log --pretty="%ci" -n1 HEAD')); - $line = trim(exec('git log -n 1 --pretty=%D HEAD')); - $pieces = explode(', ', $line); - $lastFetch = trim(exec('stat -c %Y .git/FETCH_HEAD')); - $dt = new DateTime("@$lastFetch"); - if (isset($pieces[1])) { - $remote = substr($pieces[1], 0, strpos($pieces[1], '/')); - $branch = substr($pieces[1], strpos($pieces[1], '/')+1); - $url = trim(exec('git remote get-url '.$remote)); - if (strpos($url, 'https://github.com') !== false) { - $owner = preg_replace('/https:\/\/github\.com\/(\w+)\/Cloudlog\.git/', '$1', $url); - } else if (strpos($url, 'git@github.com') !== false) { - $owner = preg_replace('/git@github\.com:(\w+)\/Cloudlog\.git/', '$1', $url); - } - } - $tag = trim(exec('git describe --tags '.$commitHash)); + $commitDate = trim(exec('git log --pretty="%ci" -n1 HEAD')); + $line = trim(exec('git log -n 1 --pretty=%D HEAD')); + $pieces = explode(', ', $line); + $lastFetch = trim(exec('stat -c %Y .git/FETCH_HEAD')); + //Below is a failsafe for systems without the stat command + try { + $dt = new DateTime("@$lastFetch"); + } catch(Exception $e) { + $dt = new DateTime(date("Y-m-d H:i:s")); + } + if (isset($pieces[1])) { + $remote = substr($pieces[1], 0, strpos($pieces[1], '/')); + $branch = substr($pieces[1], strpos($pieces[1], '/')+1); + $url = trim(exec('git remote get-url '.$remote)); + if (strpos($url, 'https://github.com') !== false) { + $owner = preg_replace('/https:\/\/github\.com\/(\w+)\/Cloudlog\.git/', '$1', $url); + } else if (strpos($url, 'git@github.com') !== false) { + $owner = preg_replace('/git@github\.com:(\w+)\/Cloudlog\.git/', '$1', $url); + } + } + $tag = trim(exec('git describe --tags '.$commitHash)); } ?> @@ -206,7 +211,7 @@ - + n/a @@ -217,7 +222,7 @@ - + n/a @@ -227,7 +232,7 @@ - + n/a @@ -235,7 +240,7 @@ Last Fetch - format(\DateTime::RFC850); ?> + format(\DateTime::RFC850)); ?>