[Debug] Added checks for systems without stat command

This commit is contained in:
Andreas
2023-07-14 22:54:53 +02:00
parent 9001a555f1
commit 67b8332904

View File

@@ -111,7 +111,7 @@
<td>
<?php if(in_array ('curl', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
@@ -122,7 +122,7 @@
<td>
<?php if(in_array ('mysqli', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
@@ -133,7 +133,7 @@
<td>
<?php if(in_array ('mbstring', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
@@ -144,7 +144,7 @@
<td>
<?php if(in_array ('xml', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
@@ -155,7 +155,7 @@
<td>
<?php if(in_array ('openssl', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
@@ -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 @@
<?php if($owner != "") { ?>
</a>
<?php } ?>
<?php } else { ?>
<?php } else { ?>
<span class="badge badge-danger">n/a</span>
<?php } ?>
</td>
@@ -217,7 +222,7 @@
<td>
<?php if($commitHash != "") { ?>
<a target="_blank" href="https://github.com/magicbug/Cloudlog/commit/<?php echo $commitHash?>"><span class="badge badge-success"><?php echo substr($commitHash,0,8); ?></span></a>
<?php } else { ?>
<?php } else { ?>
<span class="badge badge-danger">n/a</span>
<?php } ?>
</td>
@@ -227,7 +232,7 @@
<td>
<?php if($commitHash != "") { ?>
<a target="_blank" href="https://github.com/magicbug/Cloudlog/releases/tag/<?php echo substr($tag,0,strpos($tag, '-')); ?>"><span class="badge badge-success"><?php echo $tag; ?></span></a>
<?php } else { ?>
<?php } else { ?>
<span class="badge badge-danger">n/a</span>
<?php } ?>
</td>
@@ -235,7 +240,7 @@
<tr>
<td>Last Fetch</td>
<td>
<?php echo $dt->format(\DateTime::RFC850); ?>
<?php echo ($dt == null ? '' : $dt->format(\DateTime::RFC850)); ?>
</td>
</tr>
</table>